При попытке выполнить запрос по нескольким индексам я получаю следующую ошибку:
{
"type": "parsing_exception",
"reason": "unknown field [locations.addresses.lat_lon]",
"line": 1,
"col": 0
}
Это имеет смысл, поскольку один из моих индексов не содержит этого свойства.Как бы я мог использовать одно поле для одного индекса и другое поле для другого индекса?
В настоящее время мой запрос представляет собой запрос показателя функции, который, похоже, не поддерживает параметр ignore_mapping
, которыйдругие запросы имеют (используя это поле в функции, которая создает счет).У меня также есть это как часть Geo Distance Query, который поддерживает опцию ignore_mapping
, и эта часть работает.
Пример запроса:
{
"min_score": 0.1,
"query": {
"function_score": {
"score_mode": "multiply",
"query": {
"bool": {
"filter": [],
"minimum_should_match": 1,
"should": [
{
"bool": {
"minimum_should_match": 1,
"filter": [
{
"term": {
"_index": {
"value": "network_connections"
}
}
},
{
"nested": {
"path": "locations",
"ignore_unmapped": true,
"query": {
"geo_distance": {
"distance": "25mi",
"locations.addresses.lat_lon": {
"lat": 30.432242,
"lon": -97.7145152
}
}
}
}
}
],
"should": {
"dis_max": {
"queries": [
{
"common": {
"name": {
"query": "test",
"cutoff_frequency": 0.01,
"boost": 2
}
}
}
]
}
}
}
}
]
}
},
"functions": [
{
"gauss": {
"locations.addresses.lat_lon": {
"origin": {
"lat": 30.432242,
"lon": -97.7145152
},
"offset": "5mi",
"scale": "12.5mi"
}
}
}
]
}
}
}
Я делаю дополнительныйЗапрос geo_distance для установления жесткой границы в моем поиске на основе расстояния (я пытался просто изменить функции min_score и gauss, но не смог заставить его работать в качестве жесткой границы).
Мой главный вопроскак избежать ошибки unknown field
при поиске по нескольким индексам