我有字段"name":"The leonardo da vinci"
。在映射中,此字段由标准分析器分析。当我在此字段上使用match_phrase
时,它也会匹配The leonardo da vinci US
,The leonardo da vinci UK
,The leonardo da vinci GBR
等文档。
如何在不更改映射的情况下获取仅"name":"The leonardo da vinci"
的文档?
有可能吗?
由于
答案 0 :(得分:0)
如果您正在寻找完全匹配,则不需要使用匹配词组,只需使用术语查询。
{
"query": {
"term": {
"name":"The leonardo da vinci"
}
}
}
检查this以获取有关期限与全文搜索的更多信息。
编辑:如果是分析字段,您可以为其添加一个子字段:
'name': {
'type': 'text',
'fields': {
'raw': {
'type': 'keyword'
}
}
}
通过填充name
和name.raw
来重新编制索引,然后您可以在name
字段上使用带有全文搜索的匹配查询,并在{{1}上使用术语查询进行精确搜索}。