ElasticSearchドキュメントの分析/トークン化されたテキストにアクセスしようとしています。
Analyze API を使用して、分析モジュールに従って任意のテキストを分析できることを知っています。そのため、ドキュメントからデータをコピーしてAnalyze APIに貼り付け、どのようにトークン化されたかを確認できました。
ただし、これは不必要に時間がかかるようです。 ElasticSearchに検索結果でトークン化されたテキストを返すように指示する方法はありますか?ドキュメントを調べましたが、何も見つかりませんでした。
この他の答えを見てください: elasticsearch-フィールドのトークンを返す 。残念ながら、提供されたスクリプトを使用してフィールドのコンテンツをその場で再分析する必要があります。
この機能を公開するためのプラグインを作成できるはずです。アイデアは、2つのエンドポイントを以下に追加することです。
この質問は少し古いですが、多分私は追加の回答が必要だと思います。
ElasticSearch 1.0.0で Term Vector API が追加され、ドキュメントごとに内部でElasticSearchが格納するトークンに直接アクセスできるようになりました。 APIドキュメントはこれについてはあまり明確ではありませんが(例でのみ言及されています)、APIを使用するには、最初に マッピング定義 でterm_vector
を使用して用語ベクトルを保存することを指定する必要があります各フィールドのプロパティ。
スクリプトを使用することもできますが、サーバーでスクリプトを有効にする必要があります。
curl 'http://localhost:9200/your_index/your_type/_search?pretty=true' -d '{
"query" : {
"match_all" : { }
},
"script_fields": {
"terms" : {
"script": "doc[field].values",
"params": {
"field": "field_x.field_y"
}
}
}
}'
スクリプトを許可するためのデフォルト設定はエラスティック検索のバージョンによって異なるため、公式ドキュメントで確認してください。