Я предполагаю, что ваш terminalId
имеет тип text
.
. Вы можете попробовать два нижеприведенных запроса в зависимости от вашего использования.Первый - вы можете использовать только запрос bool
.
GET mytestindex/_search
{
"query": {
"bool": {
"must": [
{ "wildcard": { "terminalId": "70*" }},
{ "match": { "tranSactionResponseCode": "1" }}
]
}
}
}
Во-вторых, насколько я понимаю, вы хотите фильтровать документы на основе кода транзакции.В этом случае, а также для повышения производительности запросов вы можете использовать следующий запрос, который использует bool
и filter
.Обратите внимание, что здесь я использовал wildcard
в качестве контекста запроса.
GET mytestindex/_search
{
"query": {
"bool": {
"must": [
{ "wildcard": { "terminalId": "70*" }
}
],
"filter": [
{ "term": { "tranSactionResponseCode": "2" }}
]
}
}
}
Проверяйте счет при выполнении обоих запросов.Второй вариант не учитывает tranSactionResponseCode
для расчета score
.
Надеюсь, это поможет!