无法使用Python Elasticsearch客户端解析主机
问题描述:
我正在使用Python Elasticsearch Client。当使用像这样:无法使用Python Elasticsearch客户端解析主机
from elasticsearch import Elasticsearch
es = Elasticsearch(['http://10.20.30.40:8888/'])
res = es.search(index='my_index', body=self.build_body())
一切都好!我可以完美地拥有我的res
。
不过,我创建了一个别名,映射我elasticsearch端点:
http://10.20.30.40:8888
--->http://foo.bar.com/search
当浏览器访问或卷曲都很好地工作。但我不能使它与这条巨蟒客户合作:
es = Elasticsearch(['http://foo.bar.com/search'])
res = es.search(index='my_index', body=self.build_body())
这就提出了一个:
TransportError(404, u'index_not_found_exception', u'no such index')
相同的结果:
es = Elasticsearch([{'host':'http://foo.bar.com/search'}])
没有任何一个已经面临着一些像这样的问题?
UPDATE:
不能做这样的工作。所以,对我来说有什么作用是:
u = urljoin(...)
r = requests.get(u, data=...)
答
我刚刚再次遇到同样的问题。原来,如果你不指定端口,es会自动分配9200
。所以,正确的形式是:
es = Elasticsearch(['http://foo.bar.com/search'], port=80)
你是怎么称呼'my_index'索引的别名的? – Val