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 和多個過...