2016-09-30 8 views
0

私は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

ブラウザでアクセスし、またはその両方が完璧に動作カール。しかし、私はそれがこのPythonクライアントで作業することはできません。

es = Elasticsearch([{'host':'http://foo.bar.com/search'}]) 

は、いずれかが、すでにいくつかに直面しています:

TransportError(404, u'index_not_found_exception', u'no such index')

同じ結果:

es = Elasticsearch(['http://foo.bar.com/search']) 
res = es.search(index='my_index', body=self.build_body()) 

これが提起しますこのような問題?

UPDATE:

は、この作業を行うことができませんでした。だから、私のために働いているのは:

u = urljoin(...) 
r = requests.get(u, data=...) 
+0

「my_index」インデックスのエイリアスはどのように呼び出されましたか? – Val

答えて

0

私はちょうど同じ問題に直面しました。ポートを指定しないと、esは9200を自動的に割り当てます。したがって、正しい形式は次のとおりです。

es = Elasticsearch(['http://foo.bar.com/search'], port=80) 
関連する問題