Выделение Elasticsearch разделяет текст

Я создал поиск с автоматическим завершением с помощью Elasticsearch 5.4 с выделением совпадений.

Это мой поисковый запрос:

GET statements/_search
    {
      "_source": ["uid","textversions.content"],
      "highlight": {
        "fields": {
          "textversions.content": {}
        }
      },
      "query": {
        "match": {
          "textversions.content": {
            "query": "Informatik",
            "fuzziness": "AUTO"
          }
        }
      }
    }

Теперь большинство результатов выделены правильно. Вот пример:

  {
    "_index": "statements",
    "_type": "statement",
    "_id": "118",
    "_score": 15.151196,
    "_source": {
      "uid": 118,
      "textversions": [
        {
          "content": "die Nachfrage nach Informatikern auch groß ist"
        }
      ]
    },
    "highlight": {
      "textversions.content": [
        "die Nachfrage nach <em>Informatikern</em> auch groß ist"
      ]
    }
  }

Но у меня есть некоторые результаты, где мой textversions.content не полностью находится в выделенной версии:

{
    "_index": "statements",
    "_type": "statement",
    "_id": "252",
    "_score": 15.809544,
    "_source": {
      "uid": 252,
      "textversions": [
        {
          "content": "es im Informatikstudium darum geht, sich mit Themen, die für einen Informatiker im späteren Leben absolut notwendig sind, auseinanderzusetzen und nicht mit anderen Fächern"
        }
      ]
    },
    "highlight": {
      "textversions.content": [
        "es im <em>Informatikstudium</em> darum geht, sich mit Themen, die für einen <em>Informatiker</em> im späteren Leben"
      ]
    }
  }

или делится на два отдельных предложения:

{
    "_index": "statements",
    "_type": "statement",
    "_id": "37",
    "_score": 12.162964,
    "_source": {
      "uid": 37,
      "textversions": [
        {
          "content": "die Abiturzeugnisse über die vorhandenen Informatikkenntnisse sehr wenig aussagen, schließlich haben nur relativ wenige Schulen überhaupt Informatik als ernstzunehmendes Fach"
        }
      ]
    },
    "highlight": {
      "textversions.content": [
        "die Abiturzeugnisse über die vorhandenen <em>Informatikkenntnisse</em> sehr wenig aussagen, schließlich",
        " haben nur relativ wenige Schulen überhaupt <em>Informatik</em> als ernstzunehmendes Fach"
      ]
    }
  }

Кто-нибудь знает решение этого плохого поведения?

Спасибо за вашу помощь.


person Freddy    schedule 07.06.2017    source источник


Ответы (1)


Я нашел ответ в документах: мне пришлось добавить «number_of_fragments: 0», чтобы выделение не разбивало мой текст на фрагменты и возвращало полное содержимое.

person Freddy    schedule 07.06.2017