1.1分析器(analyzer
)
elasticsearch 無論是內建分析器還是自定義分析器,都由三部分組成:字元過濾器(character filters
)、分詞器(tokenizer
)、詞元過濾器(token filters
)。
1.2 分析器analyzer
工作流程
input text
=>character filters(如果有多個,按順序應用)
=>tokenizer
=>token filters(如果有多個,按順序應用)
=>output token
字元過濾器(character filters
)
字元過濾器:對原始文字預處理,如去除html
標籤,」&
」轉成」and
」等。
注意:分詞器(乙個分析器同時有多個字元過濾器時,按順序應用。
tokenizer
)
分詞器:將字串分解成一系列的詞元token
。如根據空格將英文單詞分開。
詞元過濾器(token filters
)
詞元過濾器:對分詞器分出來的詞元token
做進一步處理,如轉換大小寫、移除停用詞、單複數轉換、同義詞轉換等。
注意:1.3 分析器乙個分析器同時有多個詞元過濾器時,按順序應用。
analyze api
的使用
分析器analyze api
可驗證分析器的分析效果並解釋分析過程。
get _analyze
2.1 建立索引並自定義多個分析器
這裡對乙個索引同時定義了多個分析器:
put my_index
,"my_charfilter2":}
,"tokenizer":,
"my_tokenizer2":}
,"filter":,
"my_tokenfilter2":}
,"analyzer":,
"my_analyzer2":}
}}}
2.2 驗證索引my_index
的多個分析器
驗證分析器my_analyzer1
分析效果:
get /my_index/_analyze
#返回結果,,
,,,,
]}
驗證分析器my_analyzer2
分析效果:
get /my_index/_analyze
#返回結果,]
}
}}
,"my_field2":}
}}}建立文件
put my_index/my_type/
1query-mathch全文檢索
查詢時,es會根據字段使用的分析器進行分析,然後檢索。
#查詢my_field2欄位包含ip:
192.168
.113
.1的文件
get my_index/_search}}
#返回結果
,"hits":}]}}
ElasticSearch 自定義分析器
elasticsearch的分析器實際上是將三個功能封裝在一起,這三個功能按照順序執行,而這三個功能都是能自定義的 字元過濾器 char filter 首先,字串按順序通過每個字元過濾器,他們的任務是在分詞前整理字串,乙個字元過濾器可以用來去掉html,或者將 轉化成and。分詞器 tokenize...
elasticsearch配置詳解
elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...
誰在使用Elasticsearch
github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...