Indexing Elasticsearch不按字段名返回文档
我是新手。我似乎在按某个字段选择文档时遇到了问题。对我来说,它就像一个腐败的索引,但我不确定 这是一个我可以检索的文档,可以获取event.type和event.accountId字段: 请注意event.type:USER\u LOGIN。现在,我想查找具有此字段/值组合的所有文档:Indexing Elasticsearch不按字段名返回文档,indexing,elasticsearch,lucene,logstash,Indexing,elasticsearch,Lucene,Logstash,我是新手。我似乎在按某个字段选择文档时遇到了问题。对我来说,它就像一个腐败的索引,但我不确定 这是一个我可以检索的文档,可以获取event.type和event.accountId字段: 请注意event.type:USER\u LOGIN。现在,我想查找具有此字段/值组合的所有文档: curl -XGET 'http://127.0.0.1:9200/events-2015.04.08/_search?q=event.type:USER_LOGIN&pretty=1' { "too
curl -XGET 'http://127.0.0.1:9200/events-2015.04.08/_search?q=event.type:USER_LOGIN&pretty=1'
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}
没有结果。我可以通过event.accountId找到文档,但:
您没有提供映射,没有使用索引命令,也没有索引原始文档。无论如何,我认为这是因为类型是一种保留字。是否尝试将此字段的名称更改为其他名称?不确定为什么映射或索引命令很重要。事实上,我能够用一个字段而不是另一个字段搜索文档,这似乎是问题的症结所在。不过,我会尝试更改字段的名称,并在此处作出响应。我还将用文档如何索引的详细信息更新这个问题。映射确实很重要。如果字段为index:none,则不能按其搜索。我明白了,谢谢。如前所述,我对elasticsearch非常陌生。我只是用logstash为文档编制索引,甚至不知道索引映射。无论如何,将event.type更改为EventType似乎可以修复此问题@德拉戈斯特如果你想提交答案,我会接受的。
curl -XGET 'http://127.0.0.1:9200/events-2015.04.08/_search?q=event.type:USER_LOGIN&pretty=1'
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}
$ curl -XGET 'http://127.0.0.1:9200/events-2015.04.08/_search?q=event.accountId:10399&pretty=1'
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [ {
"_index" : "events-2015.04.08",
"_type" : "event",
"_id" : "AUyYpkjCr99VdGrSLpIW",
"_score" : 1.0,
"_source": {...}
}, {
"_index" : "events-2015.04.08",
"_type" : "event",
"_id" : "AUyYpkl-r99VdGrSLpIX", # <-- This is the doc I want
"_score" : 1.0,
"_source": {...}
} ]
}
}
input {
sqs {
queue => "the_queue"
region => "us-west-2"
type => "event"
}
}
filter {
json {
source => "Message"
target => "event"
remove_field => [ "Message" ]
}
mutate {
rename => { "Type" => "EventType" }
}
date {
match => [ "Timestamp", "ISO8601" ]
}
}