увеличить счет запроса, где весь текст совпадает, а не повторяющиеся слова - PullRequest
1 голос
/ 24 сентября 2019

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

Для Eg:

{
  "query": {
      "bool": {
        "must": {
          "multi_match": {
            "query": "test in maths",
            "fuzziness": "3",
            "fields": [
              "title"
            ],
            "minimum_should_match": "75%",
            "type": "most_fields"
          }
        }
      }
  }
}

Если значение поля содержит: тестовый тестовый тест

имеет более высокий балл, чем значение поля: тест по математике

Как я могуполучите более высокий балл за точное совпадение слов и неповторенных слов ?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

вы можете использовать запрос match_phrase для точного соответствия. match_phrase соответствует точному вхождению в последовательности предоставленного запроса.например,

{
    'query': {
        'bool': {
            'must': [{
                'match_phrase': {
                    'title': 'test in maths'
                }
            }]
        }
    }
}

Редактирование после комментария:

Используйте

PUT my_index
{
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "index_options": "docs"
      }
    }
  }
}

, и тогда вы можете использовать обычный запрос типа соответствия, elastisearch не будет рассматривать повторение словв указателе для поля заголовка.

0 голосов
/ 24 сентября 2019

Если вы хотите искать точные предложения / фразы, вы должны использовать запрос match_phrase (https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html).

. Вы можете добавить предложение must, содержащее запрос на совпадение фраз, чтобы повысить оценку точных фраз дляВаш текущий запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...