我在具有字段的弹性搜索中有一个json记录
"streetName": "5 Street",
"name": ["Shivam Apartments"]
我尝试了以下查询,但是如果我在查询中添加streetName bool,它不会返回任何内容
{
"query": {
"bool": {
"must": [
{
"bool": {
"must": {
"match": {
"name": {
"query": "shivam apartments",
"minimum_should_match": "80%"
}
}
}
}
},
{
"bool": {
"must": {
"match": {
"streetName": {
"query": "5 street",
"minimum_should_match": "80%"
}
}
}
}
}
]
}
}
}
文档映射
{
"rabc_documents": {
"mappings": {
"properties": {
"name": {
"type": "text",
"analyzer": "autocomplete_analyzer",
"position_increment_gap": 0
},
"streetName": {
"type": "keyword"
}
}
}
}
}
答案 0 :(得分:1)
基于E.S文档(Keywords in Elastic Search)
考虑到上述情况:
建议:对于部分匹配,请使用“文本”映射而不是“关键字”。关键字旨在用于过滤,基于术语的聚合等。