您能否在嵌套属性的geo_distance过滤器上获得inner_hits?

时间:2019-06-06 15:47:16

标签: elasticsearch

我有一个布尔查询,该查询在嵌套属性上具有geo_distance过滤器,而我正在尝试查看与该过滤器匹配的inner_hits。

这是我的查询的基本结构(省略了许多实际上与姓名,电话等相匹配的其他部分):

{
    "query": {
        "function_score": {
            "score_mode": "multiply",
            "query": {
                "bool": {
                    "minimum_should_match": 1,
                    "filter": [
                        {
                            "nested": {
                                "inner_hits": {},
                                "path": "locations",
                                "query": {
                                    "geo_distance": {
                                        "distance": "100mi",
                                        "locations.addresses.lat_lon": {
                                            "lat": 36.1626638,
                                            "lon": -86.7816016
                                        }
                                    }
                                }
                            }
                        }
                    ],
                    "should": {
                        "nested": {
                            "path": "users",
                            "query": {
                                "bool": {
                                    "minimum_should_match": 1,
                                    "filter": [
                                        {
                                            "term": {
                                                "users.deleted": {
                                                    "value": false,
                                                    "boost": 0
                                                }
                                            }
                                        }
                                    ],
                                    "should": [
                                        {
                                            "common": {
                                                "users.name": {
                                                    "query": "Dr. Bob Belcher, M.D.",
                                                    "cutoff_frequency": 0.01,
                                                    "boost": 2
                                                }
                                            }
                                        }
                                    ]
                                }
                            },
                            "inner_hits": {
                                "highlight": {
                                    "fields": {
                                        "users.name": {}
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "functions": [
                {
                    "gauss": {
                        "locations.addresses.lat_lon": {
                            "origin": {
                                "lat": 36.1626638,
                                "lon": -86.7816016
                            },
                            "scale": "7.5mi",
                            "offset": "3mi"
                        }
                    }
                }
            ]
        }
    },
    "highlight": {
        "fields": {
            "name": {}
        }
    }
}

我有一个块已经从“用户”嵌套属性中获得了内部匹配,当我与用户名匹配时,它就可以正常工作。

是不是因为geo_distance查询中没有要突出显示的内容?

0 个答案:

没有答案