我正在創建一個索引,其中的文檔只是一個單詞。 我索引的域名,所以場「域」看起來像:如何在lucene中只有一個字段的單個令牌進行搜索
example.com
thisiscool.com
justtesting.org
cnn.com
我創造我的搜索字詞等編程,因爲我所有的文檔場只是一個名詞,它看起來好像我的搜索將無法正常工作,因爲只有一個詞,如果我在布爾查詢中添加多個詞,它將永遠不會找到任何內容。
我應該如何搜索因爲我只有一個詞?我想盡可能提高效率。
Query term = new TermQuery("domain", "this")
Query term2 = new TermQuery("domain", "cool")
// add to boolean query
bq.add(term, Occur.MUST)
bq.add(term2, Occur.MUST)
indexSearcher.search(bq, 100)
我期待得到 「thisiscool.com」 回來了,但我得到0命中。我的猜測是,因爲lucene不能將事物分解爲令牌,所以它永遠不會找到任何既有「this」也有「cool」的文檔。
我應該如何搜索這個scenerio?
我建議在這種情況下使用前綴查詢與布爾查詢結合使用。自己添加通配符對我來說看起來不太合適。 – dom
@你說得對,我其實在這裏有點困惑。我會編輯我的答案。 – jake