我在elasticsearch中创建了几个索引。 http://localhost:9200/_cat/indices?v
的结果表示如下。
health status index pri rep docs.count docs.deleted store.size pri.store.size
yellow open idx_post:user:5881bc8eb46a870d958d007a 5 1 6 0 31.3kb 31.3kb
yellow open idx_usr 5 1 2 0 14.8kb 14.8kb
yellow open idx_post:group:587dc2b57a8bee13bdab6592 5 1 1 0 6.1kb 6.1kb
我是elasticsearch的新手,我尝试使用索引idx_usr
来过滤数据。
http://localhost:9200/idx_usr/_search?pretty=1
它正常工作并返回预期值。但是当我尝试使用索引idx_post
来获取数据时,它会返回一个错误,指出找不到索引。
http://localhost:9200/idx_post/_search?pretty=1
这给出了结果:
{
"error" : "IndexMissingException[[idx_post] missing]",
"status" : 404
}
如果有人能够找出原因。我真的很感激。
更新::
这是我如何创建索引。假设存在对象调用数据。我正在使用ES客户端呼叫this.esClient
var _esData = {
index: "idx_post:group"+data.group_id;
type:'posts',
id:data.post_id.toString()
};
_esData['body'] = data;
this.esClient.index(_esData, function (error, response) {
if(error)
console.log(error);
callBack(response);
});
答案 0 :(得分:3)
您可以通过使用通配符
查询索引来获得所需的结果http://localhost:9200/idx_post*/_search?pretty=1
^
|
add this
答案 1 :(得分:1)
因为索引不存在
{
"error" : "IndexMissingException[[idx_post] missing]",
"status" : 404
}
您尝试在idx_post
中进行搜索,而 _cat 会返回名称idx_post:user:5881bc8eb46a870d958d007a
和idx_post:group:587dc2b57a8bee13bdab6592