如何正确地从Node.js进行elasticSearch、search查询?
我陷入了一个问题,想不出解决办法。 我想从我的节点使用elasticSearch查询。 问题是,我可以通过postman实现,但不能通过node实现如何正确地从Node.js进行elasticSearch、search查询?,node.js,api,express,
elasticsearch,Node.js,Api,Express,
elasticsearch,我陷入了一个问题,想不出解决办法。 我想从我的节点使用elasticSearch查询。 问题是,我可以通过postman实现,但不能通过node实现 http://user:psd@my_domain:9200/ra_autocomplete/search 从我的nodejs应用程序: var elasticsearch = require('elasticsearch'); var client = new elasticsearch.Client({ host: 'my_domain'
http://user:psd@my_domain:9200/ra_autocomplete/search
从我的nodejs应用程序:
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host: 'my_domain',
port : 9200,
protocol : 'http',
auth : 'user:psd',
maxRetries : 2
});
然后呢,
client.search({
index: "ra_autocomplete",
body: {
query: {
m_prefix : {
r_n : {
query : my_var
}
}
}
}
} , function(err, res) {
console.log(err);
console.log(res);
});
我得到这个错误:
错误:找不到
在respond my\u path\node\u modules\elasticsearch\src\lib\transport.js:307:15
在检查失败时
my_path\node\u modules\elasticsearch\src\lib\transport.js:266:7
在HttpConnector上。
我的路径\节点\模块\elasticsearch\src\lib\connectors\http.js:159:7
在IncomingMessage.bound
我的路径\节点\模块\lodash\dist\lodash.js:729:21
在emitNone事件中。js:111:20
在IncomingMessage.emit events.js:208:7
在endReadableNT _stream _readable.js:1056:12
在_combinedtickcallbackinternal/process/next_tick.js:138:11
在进程中。_tickCallback internal/process/next_tick.js:180:9
现状:404,
displayName:“未找到”,
消息:“未找到”,
路径:'/roads\u autocomplete/\u search',
查询:{},
正文:“{query:{m_前缀:{r_n:{query:montexte a analyzer}}}”,
状态代码:404,
响应:'\r\n404未找到\r\n\r\n404未找到\r\nnginx/1.10.3 Ubuntu\r\n\r\n\r\n',
toString:[函数],
toJSON:[函数]}
任何帮助都将不胜感激,问题是,当我试图与邮递员合作时,一切进展顺利
谢谢。我认为问题在于您没有连接到弹性搜索节点 将端口和域添加到一行中,然后运行一个简单的查询 var elasticsearch=需要“elasticsearch”; var client=new elasticsearch.client{ 主机:“localhost:9200”, 日志:“跟踪” }; client.search{ 索引:"产品",, 类型:'产品', 正文:{ 查询:{ 布尔:{ } } } }.thenbody=>{ 返回体; },错误=>{ console.traceerror.message; };
事实上,就是这样:我必须让主机:'my_domain:9200'和httpAuth:'user:psd'工作。非常感谢。