使用Javascript API,我执行此操作:
client.search({
index:'530d8aa855df0c2d269a5a58',
type:'532a2b28495c533e5eaeb020',
q:'slide'
},function (error,response){
if(error){
console.log(error);
}
if(response){
console.log(response);
}
});
我想搜索任何包含单词' slide'。
的文档查询不返回任何匹配。
但是,如果我输入:
http://server:9200/530d8aa855df0c2d269a5a58/532a2b28495c533e5eaeb020/_search?pretty=true
在浏览器中,我得到了点击。
我做错了什么?
更多信息:
javascript查询返回:
Elasticsearch DEBUG: 2014-05-20T00:19:04Z
starting request { method: 'POST',
path: '/530d8aa855df0c2d269a5a58/532a2b28495c533e5eaeb020/_search',
query: { q: 'slide' } }
Elasticsearch TRACE: 2014-05-20T00:19:04Z
-> POST http:/server:9200/530d8aa855df0c2d269a5a58/532a2b28495c533e5eae
b020/_search?q=slide
<- 200
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
Elasticsearch INFO: 2014-05-20T00:19:04Z
Request complete
{ took: 3,
timed_out: false,
_shards: { total: 5, successful: 5, failed: 0 },
hits: { total: 0, max_score: null, hits: [] } }
我正在将我的信息编入索引:
client.index({
index:data2.name,
type:data2.files[i].author,
id:data2.files[i]._id.toString(),
body:data2.files[i]
},function(err,resp){
if(err){console.log(err)};
if(resp){console.log(resp)};
});
我的node.js应用程序的全部内容如下:
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host: 'server:9200',
log:'trace'
});
client.search({
q:'slide'
},function (error,response){
if(error){
console.log(error);
}
if(response){
console.log(response);
}
});
除了server
被替换为真实的IP地址。
我的节点应用程序在本地运行,并且它连接到已打开端口80,443,9200和9300的EC2实例。
我将我的应用更改为:
client.search({
},function (error,response){
if(error){
console.log(error);
}
if(response){
console.log(response);
}
});
我得到了一切。但是,如何指定查询,然后让它工作?
我使用的node.js elasticsearch模块是v2.1.6 我正在查看的API是针对v1.1
的内容答案 0 :(得分:0)