2014-11-24 53 views
1

我是初學者在lucene搜索。如果我有一個集合資源,如: id,name,{產品列表},{關鍵字列表}如果我想根據名稱或產品或keyword.I搜索一些關於lucene及其用法的疑問: 1)對於文檔創建,我創建了一個文檔,其結構爲id,名稱,產品(多個值),關鍵字(多個值)。如果我有一千個獨特的資源,它創建1000個獨特的文檔? 2)另外,如果我將名稱和產品字段設置爲可搜索字段(如StringField),那麼在搜索後,結果是否也會包含(ScoreDocs包含)與我搜索的文本完全相同的一組文檔?lucene爲大量且獨特數量的資源創建多個文檔?

回答

1

Q> < ..>它會創建1000個獨特的文檔嗎?
A> Lucene沒有「唯一性」的概念 - 它只是在你的腦海中。或者,想想這就好像所有文檔對於Lucene都是唯一的。如果您按這些字段進行搜索,則會返回相關文件。

Q> < ..>結果是否也會包含(ScoreDocs包含)與我搜索到的文本完全相同的一組文檔?
A>奇怪/不清楚的問題。如果您搜索全部文件,您將獲得全部文件。如果您的搜索查詢只會匹配部分文件,則會返回部分文件。內部更復雜 - 這一切取決於你如何分析文本。也許你可以更多地給出用例的具體例子?

+0

我想知道我的理解是否對lucene索引和搜索是正確的。因此,在這種情況下,如果我有一千個資源,lucene會創建多少個文檔? – user3701803 2014-11-25 05:11:11

+0

您可以明確控制將創建多少個文檔。這將與使用'IndexWriter'創建和寫入多少'org.apache.lucene.document.Document'實例一樣多。如果您爲每個資源創建一個文檔(這似乎最明智),那麼是的,將會有數千個文檔。 – mindas 2014-11-25 09:18:56

+0

是的,我在這裏明白你的意思。 – user3701803 2014-11-26 04:57:34