Elasti c Сортировка поиска по строке поиска - PullRequest
0 голосов
/ 26 января 2020

Исходя из текста, который пользователь ищет в пользовательском интерфейсе, я добавляю еще несколько поисковых терминов в критерии поиска. Все это прекрасно работает, однако я не могу получить правильный отсортированный результат.

Я ожидал бы, что результат будет отсортирован в следующем порядке:

  1. Результат сверху должен быть основан на фактических данных, введенных пользователем.
  2. Далее следуют дополнительные поисковые термины, которые я добавил в свой код.

Ответы [ 2 ]

0 голосов
/ 26 января 2020

Я думаю, вы запрашиваете способы управления тем, что называется ' релевантностью ' результата поиска в ElasticSeach (результаты упорядочены по релевантности по умолчанию). Их несколько, вам придется поэкспериментировать, чтобы увидеть, какой из них соответствует вашим потребностям. Каждый из них применяет коэффициент повышения к обычному показателю релевантности результата:

quick ^ 2 fox

придаст больше релевантности документам, содержащим 'quick'

    GET /_search 
    {
        "query": {
            "query_string" : {
                "query" : "(new york city) OR (big apple)",
                "default_field" : "content",
                "boost": 2.0
            }
        } 
    }
    {
        "query": {
            "boosting": {
                "positive": {
                    "term": {
                        "text": "apple"
                    }
                },
                "negative": {
                    "term": {
                        "text": "pie tart fruit crumble tree"
                    }
                },
                "negative_boost": 0.5
            }
        }
    }
0 голосов
/ 26 января 2020

Такая сортировка невозможна. Согласно официальной документации ,

Сортировка определяется на уровне поля ...

Таким образом, вы не можете сортировать результаты поиска термины.

В случае запроса query string вы можете повысить условия , фактически введенные пользователем, поэтому документы с такими терминами будут более релевантными и по умолчанию будут отображаться выше, чем другие документы в результатах поиска. , Но определенно это не сортировка.

...