我發現了許多關於SO和其他地方的問題,這些問題沿着「如何索引並在Lucene中搜索關係數據」的方式提出問題。相當正確的是,這些問題符合標準的迴應,即Lucene不是用來模擬這種數據的。這個報價我發現它總結...什麼是使用Lucene索引和搜索我的數據的最佳方式?
Lucene索引是一個文檔存儲。在文檔存儲中,單個 文檔表示一個概念,其中存儲到 的所有必要數據表示該概念(與在RDBMS中的多個表格上傳播 相比,需要幾次加入到 重新創建的概念)。
所以我不會問這個問題,而是我提供高層次的需求,看看有沒有Lucene的大師在那裏可以幫助我。
- 我們對人(姓名,性別,出生日期,國籍等)
- 和數據公司(姓名,國籍,城市等)的數據。
- 我們還有關於這兩種類型的實體如何在公司工作的人員(人員,公司,角色,開始日期,結束日期等)相互關聯的數據。
我們有兩個實體 - 人員和公司 - 具有自己的屬性,然後存在屬性用於它們之間的多對多鏈接。
一些例如搜索可能如下......
- 找到所有公司在澳大利亞
- 找到兩個日期間出生
- 查找誰已經爲.NET開發人員工作了的人都人民
- 找到所有在倫敦工作過的.Net開發人員。
- 找到所有誰曾作爲一個.NET開發人員2008年和2010
之間的標準的人跨越所有的三組數據。我們的要求是提供一個Faceted Search的數據,接受任何組合的各種屬性,我已經給出了一些例子。
我想爲此使用Lucene.Net。我們是一個.Net軟件公司,所以感覺有點被java嚇倒。不過,歡迎提供所有建議。
我知道這樣的想法,該索引應該在考慮搜索的情況下構建。但我似乎無法拿出,將符合搜索條件的
- 什麼類原產於Lucene的還是什麼擴展點我們可以利用的所有組合明智的指數。
- 是否有這樣的事情建立技術?
- 有沒有我錯過的第三個開源貢獻會幫助我們呢?
現在我不會描述我們考慮過的情況,因爲我不想讓這個問題膨脹並使其過於恐嚇。請在必要時詳細說明。
我不認爲Lucene.Net(或任何其他文本搜索發動機)非常適合您的需求。也許你應該用'嵌入式databases'去 –
考慮提出這個[email protected]郵件列表 – Prescott
在我第二@普雷斯科特的建議。這是一個友好的名單,他們願意幫助,如果你提供足夠的信息(你在這裏做的)。 1建議(現在沒有太多時間)你說:「但我似乎無法提出一個合理的索引,將滿足搜索標準的所有組合」..這真的沒有必要。如果你不能把它與1概念性文件型工作..(例如:帶有扁平公司的人)使用2(公司與flattend人)等。(順便說一句過分簡化)。我對.Net端口沒有任何認識。如果我是你,我會在問題中忽略這個名單 –