elasticsearch - 在查询Elasticsearch中访问字段文档

标签 elasticsearch elasticsearch-5

例如,假设我们具有以下映射:

{
    "location":{
        "dynamic":"false",
        "properties":{
            "locality":{"type":"text"},
            "country":{"type":"text"},
            "postalCode":{"type":"text"},
            "coordinates":{"type":"geo_point"},
            "radius":{"type":"double"}
        }
    }
}

这是我的查询:
GET index_name/location/_search
{
    "query": {
        "bool": {
            "filter": {
                "geo_distance": {
                    "coordinates": [
                        2.352222, 
                        48.999
                    ],
                    "distance": $radius <--- *(here I want to access the
                                               value of radius in document)*
                 }
            }
        }
    }
}

在Elasticsearch查询中是否有访问字段文档值的方法?

使用脚本查询是否可行? doc here

最佳答案

是的,实际上脚本查询可以解决问题:

GET index_name/location/_search
{
    "query": {
        "bool": {
            "must": [
                {
                    "script": {
                        "script": {
                            "inline": "doc['coordinates'].planeDistance(48.856614 , 2.37959999) <= doc['radius'].value",
                            "lang": "painless"
                        }
                    }
                 }
            ]
        }
    }
}

谢谢

关于elasticsearch - 在查询Elasticsearch中访问字段文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48693945/

相关文章:

elasticsearch - 如何结合multi_match和两个 bool 过滤器

elasticsearch - elasticsearch查询不支持query_string?

elasticsearch - 短语提示与ngrams

Elasticsearch 5 结合 bool 术语和嵌套术语过滤器

elasticsearch - Elasticsearch :对同一数据运行多个分析器

python - elasticsearch/Kibana 列表字段为 "?",虽然它在索引中是 "text",为什么?

docker - 使用XPack设置ElasticSearch和Kibana图像

elasticsearch - Spring数据ElasticSearch通配符搜索

elasticsearch - 使用文档中字段A的值的单词数组对字段B进行 Elasticsearch

java - 无法将我的Java应用程序连接到Elastic Stack实例