2017-01-31 116 views
0

我无法通过Elasticsearch查询搜索字段,也使用Kibana。 我的文件看起来是这样的:Elasticsearch/Kibana无法搜索字段

"_index": "twitter", 
    "_type": "nissan", 
    "_id": "AVm3oHh1iSIXn8b-9qC1", 
    "_score": 1, 
    "_source": { 
    "id_str": "822121770627067911", 
    "id": 822121770627067900, 
    "text":"Super looking query" 

我执行查询:

"size" : 1, 
    "query": { 
    "match": { 
     "id": 822121770627067900 
    } 
    } 

而且没有命中,也试图与id_str

映射看起来像这样 mapping

对我来说奇怪的是当我搜索text: looking我得到正确的结果。 text字段的映射也相同。 我是否需要将id_str的映射更改为not_analyzed或者存在一些棘手的搜索。 谢谢你的帮助。

+0

您确定id的类型很长,而不是int,因为您的示例中的数字超出了界限。此外,当您搜索id_str时,请确保搜索字符串“822121770627067900”,而不是数字822121770627067900。还要检查文档是否以与您使用查询http:// localhost:9200/twitter/_search?pretty = true&q相同的形式呈现= *:* – rajat

回答

0

您的id字段是否已编入索引? 在Kibana的Settings> Indices> twitter页面的顶部,您可以单击橙色的“Refresh Field List”图标来选取不在索引模式初始定义中的新字段。然后你的ID查找应该工​​作,如果ID字段被添加。

+0

我刷新了字段列表,它正在工作。现在我可以通过id_str字段进行搜索。你能提供给我更多的信息,为什么它不工作,现在刷新后,它的工作原理?非常感谢你 :) – bzadm