我在带有字段的 flex 搜索中有一个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"
}
}
}
}
}
最佳答案
基于E.S文档(Keywords in Elastic Search)
考虑到上述因素:
建议:对于部分匹配,请使用“文本”映射而不是“关键字”。关键字旨在用于过滤,基于术语的聚合等。
关于elasticsearch - Elasticsearch 中的邻近相关性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63445790/