Есть ли способ добавить несоответствующие документы в конце результатов поиска?
Я работал над проектом, в котором нам нужно искать документы по данным геолокации, но в некоторых документах нет данных о геолокации. В результате этого эти документы не возвращаются в результате поиска.
Есть ли способ добавить несоответствующие документы в конце результатов поиска?
Пример сопоставления:
PUT /my_locations
{
"mappings": {
"_doc": {
"properties": {
"address": {
"properties": {
"city": {
"type": "text"
},
"location": {
"type": "geo_point"
}
}
}
}
}
}
}
Данные с географическим местоположением:
PUT /my_locations/_doc/1
{
"address" : {
"city: "XYZ",
"location" : {
"lat" : 40.12,
"lon" : -71.34
}
}
}
Данные без географического местоположения:
PUT /my_locations/_doc/2
{
"address" : {
"city: "ABC"
}
}
Есть ли способ выполнить запрос о географическом расстоянии, который выберет документы с данными геолокации и добавит не географические документы в конце результата?
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-distance-query.html#query-dsl-geo-distance-query