У меня есть некоторые документы в 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>"]}}
... с совпадением в конце фрагмента.Как я могу получить совпадение в середине фрагмента?