Solr學習筆記(三):分詞
Analyzer(分析器)
https://cwiki.apache.org/confluence/display/solr/Understanding+Analyzers,+Tokenizers,+and+Filters
分詞器就是將句子分成單個的詞,過濾器就是對分詞的結果進行篩選,例如中文中將“的”“呀”這些對句子主體意思影響不大的詞刪除,英語中類似的就是"is","a"等等。
分析器包括兩個部分:tokenizer(分詞器)和filter(分詞過濾器,它們將按照所列的順序發生作用)。for example:
<fieldType name="text_ik_analysis" class="solr.TextField" sortMissingLast="true" omitNorms="true" autoGeneratePhraseQueries="false">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.LengthFilterFactory" min="2" max="20" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.LengthFilterFactory" min="2" max="20" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
</fieldType>
Tokenizer(分詞器)
常見的分詞器有:
- KeywordTokenizerFactory:不管什麼內容,整句當成一個關鍵字
- LetterTokenizerFactory:根據字母來分詞,拋棄非字母的部分,例如:"I can't" ==> "I", "can", "t"
- WhitespaceTokenizerFactory:根據空格來分詞,例如:"I do" ==> "I", "do"
- IKTokenizerFactory:IK分詞器
Filter(過濾器)
常見的過濾器:
- LowerCaseFilterFactory:將大寫字母轉換成小寫,不處理非字母部分
- SynonymFilterFactory:同義詞
- LengthFilterFactory: 限定字元長度
- RemoveDuplicatesTokenFilterFactory:移除重複文字
相關文章
- solr搜尋分詞優化Solr分詞優化
- ES[7.6.x]學習筆記(七)IK中文分詞器筆記中文分詞
- 差分學習筆記筆記
- 分塊學習筆記筆記
- .Net 下 Solr 入門學習系列(三)Solr管理控制檯使用Solr
- React 學習筆記【三】React筆記
- cmake 學習筆記(三)筆記
- goLang學習筆記(三)Golang筆記
- unity學習筆記(三)Unity筆記
- ONNXRuntime學習筆記(三)筆記
- Python學習筆記(三)Python筆記
- 學習筆記:微積分筆記
- 點分樹學習筆記筆記
- Redis學習筆記(三) 字典Redis筆記
- TS學習筆記(三):類筆記
- CANopen學習筆記(三)NMT筆記
- c++學習筆記(三)C++筆記
- react native學習筆記(三)React Native筆記
- 樹鏈剖分學習筆記筆記
- 「學習筆記」樹鏈剖分筆記
- 分塊莫隊學習筆記筆記
- 學習筆記:數論分塊筆記
- 差分約束學習筆記筆記
- 分數規劃學習筆記筆記
- wqs二分學習筆記筆記
- 架構學習筆記系列三架構筆記
- ES6 學習筆記三筆記
- Spark學習筆記(三)-Spark StreamingSpark筆記
- Python爬蟲學習筆記(三)Python爬蟲筆記
- 整體二分學習筆記筆記
- Irwin-Hall 分佈學習筆記筆記
- Django學習筆記(12)——分頁功能Django筆記
- 雙層桶劃分學習筆記筆記
- hive學習筆記之五:分桶Hive筆記
- (MySQL學習筆記)分頁查詢MySql筆記
- 英語學習詳細筆記(十一)動名詞筆記
- redis學習筆記(三)–Redis的功能Redis筆記
- iOS學習筆記43 Swift(三)類iOS筆記Swift
- springcloud學習筆記(三)Spring Cloud RibbonSpringGCCloud筆記