据说在我的文档中我有一个文本字段进行分析。我只是迷失在ElasticSearch AggregationAPI中。我需要支持2种不同的情况:
案例A)结果是带有计数代币(术语)的篮子,下降。
案例B)结果是带有计数字段文本(全文)的篮子,下降。简单的复杂性:我想以不区分大小写的方式对文本进行分组。相当一个测验...据我所知,分析器是一种为反向索引创建令牌的方法。所以,它不会帮助我以不区分大小写的方式对文本进行分组......
请提供参考或示例,
此致
答案 0 :(得分:1)
聚合和搜索在弹性搜索中使用两种不同的数据结构
例如
如果我使用这些值和标准分析器索引字段 数据棕色, 狗, 小狗 , 狐狸 , 狐狸, 在, 跳了, 懒, 飞跃, 结束了, 快,夏天,
这是反向索引
Term Doc_1 Doc_2 Doc_3
------------------------------------
brown | X | X |
dog | X | | X
dogs | | X | X
fox | X | | X
foxes | | X |
in | | X |
jumped | X | | X
lazy | X | X |
leap | | X |
over | X | X | X
quick | X | X | X
summer | | X |
the | X | | X
聚合使用的结构
Doc Terms
-----------------------------------------------------------------
Doc_1 | brown, dog, fox, jumped, lazy, over, quick, the
Doc_2 | brown, dogs, foxes, in, lazy, leap, over, quick, summer
Doc_3 | dog, dogs, fox, jumped, over, quick, the
解决问题的方法是
您必须使用字段
以两种不同的方式索引相同的数据例如
{
"mappings": {
"my_type": {
"properties": {
"field1": {
"type": "string",
"analyzer":"standard",
"fields": {
"raw": {
"type": "string",
"index": "keywordAnalyzed"
}
}
}
}
}
}
}
这将使用两个不同的分析器将两个不同字段中的相同数据编入索引。 所以在第一种情况下