Elasticsearch Сбрасывание букв в выделении - PullRequest
0 голосов
/ 17 октября 2019

У меня есть индекс Elasticsearch, и при применении выделения к поиску он сбрасывает символы из поля.

Пример:

GET /myindex/_search
{
  "query": {
    "bool": {
      "must": {
        "multi_match": {
          "query": "greene and associates",
          "fuzziness" : "AUTO",
          "fields": [
            "name"
          ]
        }
      }
    }
  },
  "highlight" : {
        "fields" : {
            "name" : {}
        }
    }
}

Возвращает следующее:

{
     "_index" : "myindex",
         ...       
      "name" : "A. A. Greene & Associates",
      ... 
     },
     "highlight" : {
       "name" : [
         "<em>Greene</em> & <em>Associates</em>"
       ]
     }
}

Я ожидаю, что результаты будут

{
      "_index" : "myindex",
          ...       
       "name" : "A. A. Greene & Associates",
        ... 
      },
      "highlight" : {
        "name" : [
          "A. A. <em>Greene</em> & <em>Associates</em>"
        ]
      }
}

Что я не так понял в этом запросе? Независимо от того, что я пытаюсь, я не могу заставить "AA" вернуться в результаты поиска.

Мы работаем с v7.4, и я искал других с этой проблемой, но пока не нашел ничего.

Это способ определения поля для индекса:

"name" : {
          "type" : "text",
          "boost" : 3.0,
          "fields" : {
            "raw" : {
              "type" : "keyword"
            },
            "suggest" : {
              "type" : "completion",
              "analyzer" : "simple",
              "preserve_separators" : true,
              "preserve_position_increments" : true,
              "max_input_length" : 50
            }
          }
        }

1 Ответ

0 голосов
/ 17 октября 2019

Я нашел то, что мне не хватало. Подсветкой по умолчанию является Unified Highlighter, который разбивает текст на предложения (точки в названии квалифицируются). Я изменил тип подсветки на Обычный, и он работает как положено.

Новый запрос:

GET /myindex/_search
{
  "query": {
    "bool": {
      "must": {
        "multi_match": {
          "query": "greene and associates",
          "fuzziness" : "AUTO",
          "fields": [
            "name"
          ]
        }
      }
    }
  },
  "highlight" : {

        "fields" : {
            "name" : {"type" : "plain"}

        }
    }
}
...