天天看點

Lucene7.2.1系列(三)查詢及高亮

系列文章:

<a href="https://blog.csdn.net/qq_34337272/article/details/79764305">Lucene系列(一)快速入門</a>

<a href="https://blog.csdn.net/qq_34337272/article/details/79764315">Lucene系列(二)luke使用及索引文檔的基本操作</a>

<a href="https://blog.csdn.net/qq_34337272/article/details/79780859">Lucene系列(三)查詢及高亮</a>

建立項目并添加Maven依賴

寫索引

讀取索引

對特定單詞查詢和模糊查詢

我們上面查詢了單詞“authorship”以及模糊查詢了單詞"authorshioo",結果如下:

可以看到隻在LICENSE.txt文檔下找到該單詞。

那麼模糊查詢為什麼查不到單詞"authorshioo"呢?

這是因為我們在這裡允許可以錯誤幾個字元為1個,但是我們單詞"authorshioo"錯誤字元個數為2個,是以就查不到。

解析表達式的使用

我們上面分别查詢了:“atomic a atomicReader”和“AtomicReader and AtomicReaderContext”,通過查詢結果可以看出即使稍微改變查詢内容,也還是可以查詢到和我們給出的表達式相關的文檔。

中文查詢及高亮顯示

結果會把我們查詢的“南京”單詞給高亮顯示,這在我們平時搜尋中很常見了。

我們平時搜尋中的高亮就像下圖:

歡迎關注我的微信公衆号(分享各種Java學習資源,面試題,以及企業級Java實戰項目回複關鍵字免費領取):

Lucene我想暫時先更新到這裡,僅僅這三篇文章想掌握Lucene是遠遠不夠的。另外我這裡三篇文章都用的最新的jar包,Lucene更新太快,5系列後的版本和之前的有些地方還是有挺大差距的,就比如為文檔域設定權值的setBoost方法6.6以後已經被廢除了等等。因為時間有限,是以我就草草的看了一下Lucene的官方文檔,大多數内容還是看java1234網站的這個視訊來學習的,然後在版本和部分代碼上做了改進。截止2018/4/1,上述代碼所用的jar包皆為最新。

最後推薦一下自己覺得還不錯的Lucene學習網站/部落格:

<a href="https://blog.csdn.net/wuyinggui10000/article/category/3173543">Lucene專欄</a>

<a href="https://www.zhihu.com/search?type=content&amp;q=Lucene%E5%8A%A0%E6%9D%83">搜尋系統18:lucene索引檔案結構</a>

<a href="https://blog.csdn.net/k_122/article/details/76400888">Lucene6.6的介紹和使用</a>

上一篇: PHP 文法
下一篇: Go 語言變量