ElasticSearch: использовать запрос multi_match с пробелами в поле и без него
У меня есть требование таким образом, когда мне нужно искать текст в двух полях, а именно. город и почтовый индекс. Я использую запрос multi_match для полей "city" и "zipCode", как указано ниже,
{
"query": {
"bool": {
"must": [
{
"multi_match" : {
"query": "L4N 9H7",
"fields": [ "city", "zipCode" ]
,"fuzziness" : "AUTO"
,"prefix_length" : 2
}
},
{
"match": {
"name": {
"query": "bari",
"fuzziness": 2
}
}
}
]
}
}
}
Это работает хорошо, если поиск zipCode строки как "L4N 9H7", а именно.
"multi_match" : {
"query":"L4N 9H7",
"fields": [ "city", "zipCode" ],
"fuzziness" : "AUTO",
"prefix_length" : 2
}
Но это терпит неудачу, когда я пытаюсь zipCode без пробела как "L4N9H7", а именно.
"multi_match" : {
"query":"L4N 9H7",
"fields": [ "city", "zipCode" ],
"fuzziness" : "AUTO",
"prefix_length" : 2
}
Какой твик мне нужно использовать, чтобы он работал и без пробелов?