我正在尝试创建一个节点。带有RESTAPI的js应用程序,用于查询弹性搜索应用程序云上的数据。我有以下elasticsearch连接代码
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host:'localhost:9200'
});
上面的连接连接正确,如果我添加任何数据,它也会被添加。但是我希望数据不会被添加到本地主机。我希望我的实际集群拥有数据。我尝试了以下代码
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
cloud: {
id: 'cloud_id',
},
auth: {
username: "username",
password: "pass",
},
});
//data I am trying to add
let data = {
"id": "park_somethign",
"title": "Something",
"description": "Split into the separate Rincon Mountain and Tucson Mountain districts, this park is evidence that the dry Sonoran Desert is still home to a great variety of life spanning six biotic communities. Beyond the namesake giant saguaro cacti, there are barrel cacti, chollas, and prickly pears, as well as lesser long-nosed bats, spotted owls, and javelinas.",
"nps_link": "https://www.nps.gov/sagu/index.htm",
"states": [
"Arizona"
],
"visitors": 838456,
"world_heritage_site": false,
"location": "32.20,-109.5",
"acres": 9215.72,
"square_km": 2271.2,
"date_established": "1997-10-14T05:00:00Z"
}
//this is what I am trying to do
client.index({
index: 'engines',
body: data
}).then(resp => {
return res.status(200).json({
message: "Added Data"
})
}).catch(e => {
console.log(e)
return res.status(500).json({
message: "Error",
e
})
})
上面的代码仍然没有添加数据或从我的云集群中检索数据... Evrry在互联网上我只找到localhost示例...有人能告诉我如何将nodejs直接连接到弹性搜索云集群吗??
确保使用弹性云UI提供的云ID:
然后使用创建部署时创建的凭据。或者,您也可以创建API密钥进行身份验证:
const { Client } = require('@elastic/elasticsearch')
const client = new Client({
cloud: {
id: 'name:bG9jYWxob3N0JGFiY2QkZWZnaA==',
},
auth: {
apiKey: {
id: 'foo',
api_key: 'bar'
}
}
})
更多信息请点击此处:https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-connecting.html
我也有同样的问题。因此,连接到企业搜索的主机url将起作用。这样地
var client = new elasticsearch.Client({
// do not forget to add the username and password in the url
host:"https://<username>:<password>[complete_host_url]"
});
如果不起作用,请尝试“https://
通过将URL作为主机URL数组提供,您还可以一次连接到多个主机。
参考此
我在localhost:9200上有一个本地弹性搜索,当我向浏览器输入地址时,我得到了以下内容: 当我尝试运行我的应用程序时,我得到以下错误: 如何用我的Jhipster(V5.0.0-beta.3)后端连接到这个弹性服务器?
由于已经有很多关于连字符的问题,我已经尝试了以下解决方案: 使用字符筛选器:ElasticSearch-在名称中使用连字符进行搜索。 所以我做了这个映射: 所以char筛选器似乎没有在搜索字符串上执行?我该怎么做才能让它起作用?
我试图使用docker容器创建一个弹性搜索安装。我只使用Elastic.io提供者的映像。 我不知道为什么,但logstash告诉我,他无法连接到带有此错误消息的ElasticSearch实例: 如果logstash真的得到了我的设置,有人能告诉我为什么他使用了一个坏的主机事件吗?
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。
当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa
我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?