Я пытаюсь выучить и написать запросы на поиск.Я понял, что существует поле «существует», которое возвращает документы указанного поля, существует или нет.Чтобы узнать, что я пишу простой запрос и хочу узнать больше и поиграть со структурой запроса.
У меня есть запрос, который просто проверяет, существует ли хотя бы одно из указанных полей или нет.Тем не менее, я хочу придать больший вес одному полю.Вот мой запрос:
"query": {
"bool": {
"minimum_should_match" : 1,
"should": [
{
"exists": {
"field": "geo"
}
},
{
"exists": {
"field": "location"
}
}
]
"size": 100
}
Я хочу получить все документы, у которых сначала есть гео-поле (например, есть 30 документов с полем местоположения), а остальные 70 (размер - документы существуют геополе) будет документ, который содержит поля местоположения (другие должны).Таким образом, наличие веса поля местоположения для моего случая меньше, чем гео-существование.
Я попробовал повысить для этого, и это не сработало для моего случая, когда я делаю;
"query": {
"bool": {
"minimum_should_match" : 1,
"should": [
{
"exists": {
"field": "geo",
"boost": 5
}
},
{
"exists": {
"field": "location"
}
}
]
"size": 100
}
Когда я изменяю Minimum_should_match на 2, он возвращает только те документы, которые существуют в геополе.