ElasticSearch Query с пунктуацией - PullRequest
0 голосов
/ 08 июня 2018

Я использую Custom Analyzer для отображения.В качестве условия поиска введите

сообщение: В целом, это хороший год для этого продукта.Окончательная версия выпущена к концу этого года.

Срок поискового запроса: 'message': 'Общий' или 'product'

Я не получаю никаких результатов.Как получить результаты, когда я ищу без знаков препинания и если я ищу «продукт».тогда это должно только возвращать точно согласованные условия.

1 Ответ

0 голосов
/ 08 июня 2018

Вам необходимо использовать Запрос на сопоставление

С учетом ваших требований запрос должен выглядеть следующим образом:

 {
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "message": "overall"
          }
        },
        {
            "match": {
                "message": "\"product\""
            }
        }
      ]
    }
  }
}

Примечание. Этот запрос будет возвращать документы, соответствующиеoverall ИЛИ "product", в зависимости от того, как вы проанализировали message, это может быть точный поиск или нет.

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

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