当咱们建设一个 index 的时候,能够为 index 创立专属的 analyzer
这个 analyzer 的只是该 index 可见,而不是全局的
PUT /my_index{ "mappings": { "properties": { "title": { "type": "text", "analyzer": "my_analyzer" }, "content": { "type": "text" } } }, "settings": { "analysis": { "analyzer": { "my_analyzer": { "type": "custom", "tokenizer": "standard", "filter": [ "lowercase", "my_synonyms" ] } }, "filter": { "my_synonyms": { "type": "synonym", "synonyms_path": "analysis/synonyms.txt" } } } }}
有这么一个需要,咱们心愿,应用 python sdk 查看 analyzer 的后果,怎么办?
很简略:
es.indices.analyze( index=index_name, body={ "analyzer": "sentence_analyzer", "text": content, })
加上 index=index_name 参数就好了,不然会遇到报错: failed to find global analyzer [sentence_analyzer]