【发布时间】:2019-08-02 07:03:25
【问题描述】:
您好,我正在尝试在弹性搜索中搜索包含这些字符的单词 '(' , ')'。我无法获得预期的结果。
这是我正在使用的查询
{
"query": {
"query_string" : {
"default_field" : "name",
"query" : "\\(Pas\\)ta\""
}
}}
在结果中,我首先获得了“PASTORS”、“PAST”、“PASCAL”、“PASSION”的记录。 我想在搜索结果的第一条记录中获得名称“Pizza & (Pas)ta”,因为它是最佳匹配。
这是模式中名称字段的分析器
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "edge_ngram",
"min_gram": "1",
"max_gram": "20"
}
},
"analyzer": {
"autocomplete": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"autocomplete_filter"
]
}
}
"name": {
"analyzer": "autocomplete",
"search_analyzer": "standard",
"type": "string"
},
请帮我解决这个问题,谢谢
【问题讨论】:
标签: elasticsearch elasticsearch-query