[英]elasticsearch php client omit port on host
我正在创建一个需要入站Elasticsearch的项目,我正在使用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节点正在工作如果我这样做:
{
"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,那么它将无法正常运行。
似乎定义了完整的合格URL https://example.com:443可行。 谢谢大家的回答
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.