我试图在AWS服务器上托管一个Elasticsearch应用程序。为此,我使用弹性企业搜索。我将API连接器配置如下:
const connector = new AppSearchAPIConnector({
searchKey: "search-gs7t3micqu41z1dsou1ccz95",
engineName: "sentence-similarity",
endpointBase: "http://ec2-18-159-135-25.eu-central-1.compute.amazonaws.com:3002"
});应用程序本身运行在端口3000下的npm中。我在AWS安全组中启用了两个端口。
在启动弹性搜索和企业搜索之后,在npm start之后,我还可以连接到http://ec2-18-159-135-25.eu-central-1.compute.amazonaws.com:3000,这样就可以工作了。但是,一旦我对应用程序进行了API调用,就会得到以下错误:
POST http://ec2-18-159-135-25.eu-central-1.compute.amazonaws.com:3002/api/as/v1/engines/sentence-similarity/search.json net::ERR_CONNECTION_REFUSED
此外,当我在控制台中输入curl http://localhost:3002/api/as/v1/engines/sentence-similarity/search.json时,会得到以下错误:
{“错误”:“您需要在继续之前登录或注册”}
因此,我认为,与Elasticsearch的连接存在问题。当我在本地机器上托管应用程序时,我从未遇到过这个问题。
我的想法,如何可能解决问题:
.yml文件,一个用于弹性搜索,一个用于企业搜索,我可以配置它们。可能,当我在本地计算机上托管应用程序时,我必须调整这些。。
在任何情况下,我是一个部署的初学者,我需要一些帮助的细节。非常感谢您提前!
编辑:
经过进一步的研究,我相信我发现了这个问题。在AWS服务器上,似乎已经建立了一个新的Enterprise实例。这意味着还没有配置引擎,这就是API调用失败的原因。如何连接到我现有的引擎而不是创建一个新的引擎?
发布于 2020-10-07 19:28:50
我没有使用AWS弹性搜索,但我可以给出一些建议,检查下面的urls,
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html#kibana-test https://www.youtube.com/watch?v=mWRo_JVgP_0
还可以考虑检查安全组。
https://stackoverflow.com/questions/64106199
复制相似问题