Можете ли вы получить inner_hits в фильтре geo_distance для вложенного свойства? - PullRequest
0 голосов
/ 06 июня 2019

У меня есть запрос bool с фильтром 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": {}
        }
    }
}

У меня есть блок, уже получающий внутренние попадания из вложенного свойства "users", и он отлично работает, когда я получаю совпадения для пользователяname.

Это потому, что в запросе geo_distance нечего выделять?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...