В Elasticsearch 6.8 у меня есть документ ниже:
{
...
item: 'AAA',
...
},
{
...
item: 'BBB',
...
},
{
...
item: 'CCC',
...
}
И в запросе запроса есть фильтр для поля item
, как показано ниже.
"query": {
"bool": {
"filter": [
{
"terms": {
"item": [
"BBB", "CCC"
]
}
}
],
"should": [
{
"match": {
"name": "Mike"
}
}
],
"minimum_should_match": 1
}
То, что я хочу, это отсортировать соответствующий документ на основе порядка элементов в массиве запросов. Взять выше в качестве примера, он фильтрует документ, который имеет BBB
или CCC
в их поле item
. Мне бы хотелось, чтобы документ с BBB
имел более высокий балл, чем документ с CCC
, потому что пользователи ставят BBB
перед CCC
в запросе запроса. Как я могу добиться этого в Elasticsearch?