我正在创建一个需要弹性搜索入站的项目,我正在使用elasticsearch / elasticsearch包来处理使用php的elasticsearch内容。现在在自述文件中,我得到以下内容:
$hosts = [
'192.168.1.1:9200', // IP + Port
'192.168.1.2', // Just IP
'mydomain.server.com:9201', // Domain + Port
'mydomain2.server.com', // Just Domain
'https://localhost', // SSL to localhost
'https://192.168.1.3:9200' // SSL to IP + Port
];
$client = ClientBuilder::create()
->setHosts($hosts) // Set the hosts
->build(); // Build the client object
如果我使用没有端口的主机的IP地址作为主机,则端口9200将附加到我在每种情况下请求的URL。我的ES服务器正在侦听端口80,无需将端口连接到它。
我的连接定义如下:
$params = [
'hosts' => [
'XXX.XXX.XXX.XXX'
],
'retries' => 5
];
return ClientBuilder::fromConfig($params);
然后客户端抛出异常 NoNodesAvailableException 并抓取异常跟踪我看到正在'url'=>进行连接“http://XXX.XXX.XXX.XXX的:9200 /
如何摆脱9200,ES节点正在工作如果我这样做:
http://XXX.XXX.XXX.XXX/?pretty我
{
"status" : 200,
"name" : "568402dd7628e13d38000138",
"cluster_name" : "elasticsearch-568402dd7628e13d38000138",
"version" : {
"number" : "1.7.1",
"build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19",
"build_timestamp" : "2015-07-29T09:54:16Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
那么,如果没有指定,9200永远不会被删除会发生什么。如果我放XXX.XXX.XXX.XXX:80那么它也不会有效。