elasticsearch 弹性搜索中的邻近关联,elasticsearch,lucene,elasticsearch,Lucene" /> elasticsearch 弹性搜索中的邻近关联,elasticsearch,lucene,elasticsearch,Lucene" />

elasticsearch 弹性搜索中的邻近关联

elasticsearch 弹性搜索中的邻近关联,elasticsearch,lucene,elasticsearch,Lucene,我在带有字段的弹性搜索中有一个json记录 "streetName": "5 Street", "name": ["Shivam Apartments"] 我尝试了下面的查询,但是如果我在查询中添加streetName bool,它不会返回任何内容 { "query": { "bool": { "must"

我在带有字段的弹性搜索中有一个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文件()

  • “关键字字段只能按其确切值进行搜索”
  • 此外,关键字也区分大小写
考虑到上述因素:

  • 搜索“5街”将与关键字字段上的“5街”('s'vs's')不匹配
  • 最小应匹配项在关键字字段上不起作用

  • 建议:对于部分匹配,请使用“文本”映射而不是“关键字”。关键字用于过滤、基于术语的聚合等。

    能否在描述中添加文档映射?我使用动态映射尝试了同样的方法,效果很好。很有可能您的映射被定义为使用您使用的查询无法搜索此特定文档。@SahilGupta我已经添加了文档mapping@Gibbs)N-Gram标记符b.)小写,asciifolding,trim,撇号和stopwords标记过滤器c.)Html_条字符Filters@sahilGupta你应该得到一张接受票。也可以使用Normalizer。