Доброго дня.
Есть такой индекс:
{
"ta": {
"mappings": {
"properties": {
"address": {
"type": "text"
},
"obj_id": {
"type": "keyword"
}
}
}
}
}
В него грузятся адреса примерно в формате "Москва г, Центральная ул, дом 7, квартира 15".
Нужно по адресу получать obj_id. Строка для поиска может быть примерно такой
"моск цент 7 15", т.е. пользователь вводит сокращенные данные.
Сейчас поиск выглядит так:
{
"size": 21,
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "*моск* *цент* 7 15",
"fields": [
"address"
]
}
}
],
"must_not": []
}
}
}
Полей на самом деле больше и запрос может быть сложнее, поэтому есть секция bool, но сейчас это не важно.
В таком виде запрос вернет адреса:
"Москва г, Центральная ул, дом 7, квартира 15"
"Москва г, Центральная ул, дом 15, квартира 7"
Если ли возможность задать порядок слов при поиске?
Т.е. если я задам
"моск цент 7 15" - возвращается только "Москва г, Центральная ул, дом 7, квартира 15"
"моск цент 15 7" - возвращается только "Москва г, Центральная ул, дом 15, квартира 7"?