我有一个Kibana仪表板,其中包含一个术语面板,用于显示特定字段的实例数(让我们称之为field1)。 Field1实际上是一个字符串列表。每个字符串通常包含多个单词。自分析以来,Elasticsearch将这些术语分解为单独的列。我需要将文本保存在一起,所以我需要一个not_analyzed版本。这是我尝试使用模板,位于Windows框上的〜\ config \ templates \ doc_template.json,这似乎不起作用。 Elasticsearch作为Windows服务运行。
{
"doc_template": {
"template": "*",
"mappings": {
"Type-*": {
"properties": {
"Field1": {
"type": "multi_field",
"fields": {
"Field1": { "index": "analyzed" },
"RawField1": { "index": "not_analyzed" }
}
}
}
}
}
}
}
在术语面板中,我希望必要的字段是RawField1或Field1.RawField1,但我尝试过其他变体,包括和排除.raw,没有运气。
每天都会创建新索引。 Field1以4种不同的类型存在,每种类型以“Type-”开头。我怀疑我尝试使用通配符存在问题,但我不确定。所有数据都通过NEST在C#.NET应用程序中发送到Elasticsearch。这是Field1的映射,因为它目前存在于以下类型之一:
{
"index-2014.12.08" : {
"mappings" : {
"Type-1" : {
"properties" : {
"Field1" : {
"type" : "string"
},
"Field2" : {
"type" : "string"
},
"Field3" : {
"type" : "string"
}
}
}
}
}
}
显然,映射看起来并不像我期望的那样。解决这个问题的最佳方法是什么?