【发布时间】:2013-08-15 12:23:00
【问题描述】:
我知道您可以使用构面在索引中找到最常用的术语。
例如以下输入:
"A B C"
"AA BB CC"
"A AA B BB"
"AA B"
term facet 返回这个:
B:3
AA:3
A:2
BB:2
CC:1
C:1
但我想知道是否可以列出以下内容:
AA B:2
A B:1
BB CC:1
....etc...
ElasticSearch 有这样的功能吗?
【问题讨论】:
-
也许尝试在使用
shingle分析器的字段上定义一个自定义分析器。这将通过组合单词来创建标记(就像你问的那样)。然后,您可以尝试查看构面是否会返回这些组合标记的计数。有一个look at the es docs on shingle token filter -
谢谢,这可能有效。 Facets 返回标记,所以很可能它也会返回这些短语标记。但是,这不适用于现有索引,这会增加文件大小太多,对吧?我每天需要这个功能来处理 5GB 的数据。在那一天结束后,我将不再需要它。所以,我想最好的办法是在每天结束时对 5GB 数据进行索引,存储构面结果,然后删除新的索引数据。 (这将循环进行)还有其他选择吗?
标签: elasticsearch facet term