2011-09-17 35 views
0

使用Lucene,是有可能做直項查詢,而不必遍歷的條款?Lucene的期限查找

對於前:

IndexReader r = IndexReader.open("..."); 
Term t = r.getTerm("myterm"); 

回答

0

我認爲你需要先讀一個基本的Lucene的教程such as this。請注意,本教程中使用的代碼是舊的,即與最新的lucene版本不符。從你的評論到邁克,我相信正在尋找「搜索」。

一種替代方法是使用包裝過的lucene如Elasticsearch,提供了一個簡單的接口。儘管如此,在使用它之前理解界面很重要。

0

總之,沒有。因爲你已經有了這個術語,所以在索引中查找一個術語並沒有什麼意義,也沒有要求提供關於它的任何附加信息。

Lucene的存儲方面,與相關聯的docids字段的值。不過,您可以使用TermsEnum來枚舉索引中的所有術語。你可以找到與文檔相關的所有術語,或者找出索引中是否存在給定的術語 - 這可能是我所能想到的最接近的東西。

+0

我想用這個詞來獲得與術語相關的所有文件。所以你基本上說,如果沒有迭代所有術語的昂貴操作,沒有辦法做到這一點? – user623879

+0

對不起,你的問題並不完全清楚。你絕對可以這樣做。我確實認爲你會在phaedrus的post中找到「5分鐘內的lucene」鏈接。 –