私はelasticsearch(および基礎となるLuceneエンジン)が初めてです。
ドキュメントに関するいくつかのメタデータを保存しています。たとえば、単一のドキュメントは次のように記述できます。
UniqueHash: ABC123
CreatedBy: John Smith
ApplicationName: MSExcel
ContentType: application/vnd.ms-excel
WordCount: 7000
...
これはすべて、インデックス作成/検索には非常にうまく機能しますが、ファセットになると興味深いものになります。
(たとえば)ファセットCreatedBy
が返されます
John: 1
Smith: 1
または ContentType で
application: 1
vnd.ms: 1
excel: 1
これらはどちらも望ましいものではありません。フィールドの内容を直接制御することはできません (つまり、基になるデータを変更することはできません)。途中で変換を実行できますが、それは危険なデータを保存することになり、検索が期待どおりに機能するため、間違ったアプローチのように感じます。
各フィールド (または少なくとも指定されたフィールド) の内容全体をファセットに使用する値として扱うように、elasticsearch を納得させるにはどうすればよいですか?