我是弹性搜索(和底层 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 将每个字段(或至少指定字段)的全部内容视为用于分面的值?