Я пытаюсь выделить документ на основе запроса span_near
в Elasticsearch 2.1.1, а ES неправильно выделяет термин, который на самом деле не является хитом, потому что он находится за пределами рассматриваемого диапазона.Как вы выделяете запросы span_near в Elasticsearch?
шаги я исполняющие являются:
Создать индекс
curl -XPUT 'http://localhost:9200/twitter/' -d '{
"mappings": {
"tweet": {
"properties": {
"message": {
"type": "string",
"term_vector": "with_positions_offsets",
"store": true
}
}
}
}
}'
Index документ
curl -XPUT 'localhost:9200/twitter/tweet/1?refresh=true' -d '{
"message" : "A new bonsai tree in the office. Bonsai!"
}'
Поиск
curl -XGET 'http://localhost:9200/twitter/tweet/_search?pretty' -d '{
"query" : {
"span_near" : {
"clauses" : [
{"span_term": {"message": "new"}},
{"span_term": {"message": "bonsai"}}
],
"slop": 1,
"in_order": false
}
},
"highlight": {"fields": {"message": {"type": "plain"}}}
}'
поиска выше возвращается:
{
"took" : 7,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 0.13561106,
"hits" : [ {
"_index" : "twitter",
"_type" : "tweet",
"_id" : "1",
"_score" : 0.13561106,
"_source":{"message" : "A new bonsai tree in the office. Bonsai!"},
"highlight" : {
"message" : [ "A <em>new</em> <em>bonsai</em> tree in the office. <em>Bonsai</em>!" ]
}
} ]
}
}
Как вы можете видеть, это неправильно выделяя появление «Бонсай» в конце поля, которое не находится в пределах 1 слово «новый». Несколько вещей, чтобы отметить:
- Это точно такой же набор шагов производит правильные освещающие результаты против Elasticsearch 1.5.2.
- Существует открытая ошибка для
span_near
запросов не работает с использованием быстрого векторно Highlighter (FVH) - https://github.com/elastic/elasticsearch/issues/5496 - вот почему я пытаюсь использоватьplain
фломастер выше
Есть ли что-то я m, чтобы получить подсветку для работы с span_near
запросами?
Ваш запрос отлично работает на '2.0 2.0, я не могу найти какой-либо документ, который говорит что-то, что было изменено в' highlighting' от 2.0 до 2.1 – ChintanShah25
@ ChintanShah25 Я также подтвердил, что подсветка корректно работает на ES 2.0.2. Похоже, что это должно быть ошибка маркера в 2.1 ... – dposada
Я ничего не мог найти в [break changes] (https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-2.1 .html), не могли бы вы сделать снимок [выделить запрос] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html#_highlight_query), я имею в виду копию ваш запрос, чтобы выделить запрос и посмотреть, работает ли он? – ChintanShah25