【发布时间】:2014-10-27 17:52:29
【问题描述】:
我有一个具有以下结构的文档:
{
"_index": "logstash-2014.10.08",
"_type": "iis",
"_id": "HRM7LWfBSPGo9PUS0Z1ynw",
"_score": 1,
"_source": {
"@version": "1",
"@timestamp": "2014-10-08T12:37:26.000Z",
"type": "iis",
"messageId":
"O5pUHWOuEnTT0xQxXfNW6L+O6EMIjTFO7e//t+S/99en4zzOnlhqjEKlw02ZZVRFlyVaawA=="
}
}
这是我的映射:
"messageId" : {
"type" : "string",
"norms" : {
"enabled" : false
},
"fields" : {
"raw" : {
"type" : "string",
"index" : "not_analyzed",
"ignore_above" : 256
}
}
}
我正在尝试执行查询,并且我想仅返回具有在查询中传递的 messageId 的确切值的文档。我尝试使用匹配和过滤器执行查询。
如果我使用术语,它会返回零个文档:
{
"query": {
"term" : {
"messageId" :
"O5pUHWOuEnTT0xQxXfNW6L+O6EMIjTFO7e//t+S/99en4zzOnlhqjEKlw02ZZVRFlyVaawA=="
}
}
}
当我使用 match 时,我可以取回我的文档,但如果我对 messageId 进行少许更改,它仍会返回我的文档,并且查询时的 messageId 与文档不同。
{
"query": {
"match" : {
"messageId" :
"O5pUHWOuxXfNW6L+O6EMIjTFO7e//t+S/99en4zzOnlhqjEKlw02ZZVRFlyVaawA=="
}
}
}
任何人都知道我如何进行查询并检索具有确切值 messageId 的文档?
提前致谢。
【问题讨论】:
-
您可以添加 cURL 命令来重新创建它吗?我认为您的映射不会在索引时应用。您可以尝试测试字段分析器以确保它被索引为一个标记。
-
我已经使用 Logstash 对其进行了索引。如何使用字段分析器?
-
我不熟悉 Logstash 的规范,您的索引是自动配置的吗?使用 cURL 命令测试字段分析器@elasticsearch.org/guide/en/elasticsearch/reference/current/…
标签: elasticsearch