ElasticSearch搜索与空白带有分隔符的文本上的查询,而不是冲刺
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch搜索与空白带有分隔符的文本上的查询,而不是冲刺相关的知识,希望对你有一定的参考价值。
我已经索引的数据(人)用的firstName =“让 - 马克”,我想能够找到使用不同的查询组合这个人,例如为名字“让 - 马克”,它应该是可能的搜索着:“让马克”和“让马克”(与空白或破折号)
这里是映射:
"firstName":
"type": "keyword",
"normalizer": "keyword_normalizer",
"fields":
"analysed":
"type": "text",
"analyzer": "hyphen_analyzer",
"search_analyzer": "standard",
"fielddata": true
而设置:
"char_filter":
"allowOnlyChar":
"pattern": "[^A-Za-z]",
"type": "pattern_replace",
"replacement": " "
"analyzer":
"hyphen_analyzers":
"filter": "lowercase",
"char_filter": [
"allowOnlyChar"
],
"type": "custom",
"tokenizer": "standard"
我是说我保持冲刺的人,但与空白查询没有结果
我用弹性6.2.4
答案
定义你的分析:
"char_filter":
"allowOnlyChar":
"pattern": "[^A-Za-z]",
"type": "pattern_replace",
"replacement": " "
"analyzer":
"yourAnalyzer":
"filter": "lowercase",
"char_filter": [
"allowOnlyChar"
],
"type": "custom",
"tokenizer": "standard"
当然指数的这种分析仪的文档。 “分析”: “yourAnalyzer”
以上是关于ElasticSearch搜索与空白带有分隔符的文本上的查询,而不是冲刺的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch:Async search API