是否可以获得每个突出显示的片段的字符位置?我需要将突出显示的文本与源文档匹配,并且具有字符位置将使其成为可能。
例如:
curl "localhost:9200/twitter/tweet/_search?pretty=true" -d '{
"query": {
"query_string": {
"query": "foo"
}
},
"highlight": {
"fields": {
"message": {"number_of_fragments": 20}
}
}
}'
返回此亮点:
"highlight" : {
"message" : [ "some <em>foo</em> text" ]
}
如果匹配文档中的字段消息是:
"Here is some foo text"
有没有办法知道片段从匹配字段的 char 8 开始并在 char 21 结束?
知道匹配令牌的开始/结束偏移量对我也有好处 - 也许有一种方法可以使用 script_fields 访问该信息?(这个问题显示了如何获取令牌,而不是偏移量)。
“消息”字段具有:
"term_vector" : "with_positions_offsets",
"index_options" : "positions"