強調表示された各フラグメントの文字位置を取得することは可能ですか? 強調表示されたテキストを元のドキュメントに一致させる必要があり、文字位置があればそれが可能になります。
例えば:
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"