2012-08-31 89 views
3

我有一個用戶查詢來自網站solr列表(數以百計的成千上萬)。我的要求是返回給定列表中對文檔而言屬實的所有查詢。我知道我可以索引一個文檔,並通過100000個查詢列表循環查看文檔是否被返回,但有沒有更快的方法?反向查詢匹配解決方案

例如。 :

  1. cartype =寶馬的color = red
  2. cartype =福特和門= 4
  3. cartype =福特和顏色=綠色

    document: <cartype>FORD</cartype> <colour>GREEN</colour> <doors>4</doors>

所以這個文件有問題將返回查詢2 & 3.

理想情況下,我想做某種反向搜索。索引搜索查詢併發送文檔內容以返回匹配項。任何人都知道我可能會怎麼做,或者之前已經嘗試過?

任何輸入,非常感謝。

+0

這將是一個偉大的功能,並一直在想辦法做同樣的事情。我使用的另一種搜索產品具有稱爲「探查器」的功能http://www.thunderstone.com/site/vortexman/profiler.html –

回答

6

你能考慮切換到elasticsearch嗎?很抱歉,這個用例看起來非常適合Percolate API,這是elasticsearch提供的一個非常有用的功能。

你會索引你的查詢,而不是文件,給他們一個唯一的ID。然後,您可以逐個發送文檔,並返回與其匹配的查詢,甚至不需要索引文檔。一探究竟!

+0

這看起來很完美是對的:)我可以爲此設置不同的引擎。想知道這是如何工作在引擎蓋下,並與solr一起使用,但這回答了我的問題。謝謝 – everreadyeddy

+0

哇...看起來我會在本週末探索elasticsearch! –

+0

@dwhelan這絕對是一個不錯的選擇! ;) – javanna