tom*_*mak 8 elasticsearch kibana
如果我在Elasticsearch索引中添加包含多个字段的文档,则在Kibana中查看该文档时,每次获得相同字段的次数都是两次。其中之一将被称为
some_field
Run Code Online (Sandbox Code Playgroud)
而另一个将被称为
some_field.keyword
Run Code Online (Sandbox Code Playgroud)
这种行为从何而来?两者之间有什么区别?
PS:其中一个是可聚合的(不确定这是什么意思),另一个(无关键字)不是可聚合的。
Pio*_*ski 15
更新:一个简短的答案就是这种类型:分析文本,这意味着在存储时将其分解为不同的词,并允许在字段中对一个或多个词进行自由文本搜索。.keyword字段采用相同的输入并保留为一个大字符串,这意味着可以对其进行汇总,并且可以在其上使用通配符搜索。可聚合意味着您可以在elasticsearch的聚合中使用它,如果您熟悉它,它类似于sql组。在Kibana中,您可能会将.keyword字段与聚合一起使用以计算不同的值,等等。
请阅读有关textvs的keyword这篇文章。
简要地说:由于Elasticsearch 5.0 string类型被text和keyword类型所代替。从那时起,对于带有字符串的简单文档,不要指定显式映射:
{
"some_field": "string value"
}
Run Code Online (Sandbox Code Playgroud)
下面将创建动态映射:
{
"some_field": {
"type" "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,既可以对进行全文搜索
some_field,也可以使用some_field.keyword字段进行关键字搜索和聚合。
我希望这回答了你的问题。
| 归档时间: |
|
| 查看次数: |
5910 次 |
| 最近记录: |