Фрагмент выделенного фрагмента Elasticsearch не центрируется на совпадении, когда не найдено разрывов предложений - PullRequest
0 голосов
/ 23 мая 2019

У меня есть некоторые документы в Elasticsearch, в которых пропущена пунктуация.

Я обнаружил, что выделение Elasticsearch, когда в документе нет разрывов предложений, не будет центрировать фрагмент на совпавшем слове, но вместо этого покажетФрагмент, ведущий к совпадению.

Есть ли способ изменить это так, чтобы фрагмент был центрирован вместо слова?

Repro:

PORT=9400

curl -X PUT "localhost:$PORT/test" -H 'Content-Type: application/json' -d'
{
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings" : {
        "_doc" : {
            "properties" : {
                "transcript" : { "type" : "text" }
            }
        }
    }
}
'

curl -X PUT "localhost:$PORT/test/_doc/1" -H 'Content-Type: application/json' -d'
{
  "transcript":"Lo! the Spear-Danes glory through splendid achievements The folk-kings former fame we have heard of, How princes displayed then their prowess-in-battle Oft Scyld the Scefing from scathers in numbers From many a people their mead-benches tore Since first he found him friendless and wretched"
}'

curl "localhost:$PORT/test/_search" -H 'Content-Type: application/json' -d'
{
    "query": {
                "query_string": {
                    "query": "displayed",
                    "fields": ["transcript"]
                }
    },
    "highlight": {       
        "fields": {"transcript": {}}
    }
}
'

Возвращает:

"highlight":{"transcript":["Spear-Danes glory through splendid achievements The folk-kings former fame we have heard of, How princes <em>displayed</em>"]}}

... с совпадением в конце фрагмента.Как я могу получить совпадение в середине фрагмента?

...