У меня есть 4 разных отображения: A
, B
, C
и D
.
Для отображений A
и B
следующий запрос дает наилучшие результаты:
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"multi_match": {
"query": "....",
"analyzer": "keyword",
"fuzziness": "AUTO",
"fields": ["name*"]
}
}
]
}
}
]
}
},
"from": 0,
"size": 20
}
Для C
следующий запрос дает наилучшие результаты:
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"multi_match": {
"query": "....",
"analyzer": "simple",
"fuzziness": "AUTO",
"use_dis_max": false,
"fields": ["name*"]
}
}
]
}
}
]
}
}
}
И для D
следующий запрос дает наилучшие результаты:
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"multi_match": {
"query": "....",
"analyzer": "simple",
"fuzziness": 0,
"use_dis_max": false,
"fields": ["name*"]
}
},
{
"multi_match": {
"query": "....",
"analyzer": "simple",
"fuzziness": 3,
"fields": ["name*"]
}
}
]
}
}
]
}
}
}
Я могу сделать 3 отдельных запроса и обработать результаты, но получается, что это грязно и занимает больше времени.Можно ли объединить эти 3 запроса в один и, скажем, для отображения / типов A
и B
использовать первое множественное совпадение, для C
использовать второй, а для D
использовать третий.