我知道您可以使用构面在索引中找到最常用的术语。
例如,以下输入:
"A B C" "AA BB CC" "A AA B BB" "AA B"
术语方面返回以下内容:
B:3 AA:3 A:2 BB:2 CC:1 C:1
但我想知道是否可以列出以下内容:
AA B:2 A B:1 BB CC:1 ....etc...
ElasticSearch中有这样的功能吗?
正如ramseykhalaf的评论中提到的,带状滤波器会产生长度为“ n”个单词的令牌。
"settings" : { "analysis" : { "filter" : { "shingle":{ "type":"shingle", "max_shingle_size":5, "min_shingle_size":2, "output_unigrams":"true" }, "filter_stop":{ "type":"stop", "enable_position_increments":"false" } }, "analyzer" : { "shingle_analyzer" : { "type" : "custom", "tokenizer" : "whitespace", "filter" : ["standard," "lowercase", "shingle", "filter_stop"] } } } }, "mappings" : { "type" : { "properties" : { "letters" : { "type" : "string", "analyzer" : "shingle_analyzer" } } } }
有关完整详细信息,请参见此博客文章。