lucene 詞幹分析與保留空位和停用詞

2021-08-30 09:33:08 字數 743 閱讀 8052

1、分析器可以剔除所有停用詞,並將這些詞本來所處的位置留空,還可以對詞幹過濾器進行選擇

2、移除停用詞

public class positionstopfilter extends tokenfilter

3、自己定義的分析器

public class positionalporterstopanalyer extends analyer{

private set stopwords;

publicpositionalportstopanalyer(){

this(stopanalyzer.english_stop_words);

publicpositionalportstopanalyzer(string stoplist){

stopwords=stopfilter.makestopset(stoplist);

//下面的**使用了詞幹還原porterstemfilter

public tokenstreamtokenstream(string fieldname,reader reader){

return new porterstemfilter(

new positionalstopfilter{

new lowercasetokenizer(reader),stopwords));

4、使用pharsequery允許查詢的短語有空缺,但是必須使用setphraseslop(n)進行設定,將空缺設定為n,空缺一般是停用詞造成的。

lucene檔案格式分析

segment 每個segment代表lucene乙個完整的索引段。通常乙個索引中包含了多個segment。每個segment都有統一的字首,字首名由document的數量轉成36進製後,在前面加 而構成的。通常乙個完整索引中,有且只有乙個沒有字尾名的segment檔案,它記錄了當前索引中所有的se...

Lucene全文搜尋工具分析

專案中都會有搜尋的功能,有些搜尋非常簡單,就是按照姓名查詢或者按著性別查詢。這樣的查詢我們會用到模糊查詢,也就是like。如果是兩個也就是用like 和or關鍵字。like關鍵字是非常影響效率的,這點我們可以從乙個生活中的例子來看就能夠知道。我們使用like關鍵字就好像是我們在查一本沒有目錄的字典,...

Lucene系列 分析器

搜尋的基礎是對文字資訊進行分析,lucene的分析工具在org.apache.lucene.analysis包中。分析器負責對文字進行分詞 語言處理得到詞條,建索引和搜尋的時候都需要用到分析器,兩者應當是同乙個,否則沒法很好的匹配。lucene的分析器往往包括乙個分詞器 tokenizer 和多個過...