2016-05-31 10 views
0

私はelasticsearchで作業しています。私は、elasticsearch.jarで検索クエリを使用してテキストを検索しようとしています。elasticsearchで以下のクエリを実行しようとすると、結果に何も返されません。しかし値はそこにあります。私はcurlコマンドを使ってチェックしたので、結果を返します。検索クエリがelasticsearchに何も返しません

私はそれがループのために呼び出すことはありませんelasticsearchクエリコマンドに

ES_HOST = {"host":"xxx.xx.xx.xx","port":"9200"} 
ES_INDEX = 'sugan' 
ES_TYPE = 'doc' 

es = Elasticsearch(hosts=[ES_HOST]) 

res = es.search(index=ES_INDEX,body={"query":{"match_all":{}}}) 

when i print **res**, it's response like below 

Search Response:'{u'hits': {u'hits': [], u'total': 0, u'max_score': None}, u'_shards': {u'successful': 1, u'failed': 0, u'total': 1}, u'took': 1, u'timed_out': False}' 

for hit in result['hits']['hits']: 
    print "results:" 
    print (hit["_source"]) 

を実行します。

は、それは私がカールコマンド

curl -XGET 'xxx.xx.xx.xx:9200/sugan/_search?' 

は、それはあなたのコードに問題は「ポート」で、適切な結果

+3

あなたはあなたの中にあなたの 'es'クライアントを設定する方法を示していますができますPythonコード? – Val

答えて

1

を取得しています実行

何も返さない理由を私は知りません文字列として

ES_HOST = {"host":"xxx.xx.xx.xx","port":"9200"} 

It次のようになります。

ES_HOST = {"host":"xxx.xx.xx.xx","port": 9200} 

これが必要なのpythonのコードです(、あなたのホストのIPでHOST_IP交換する必要があります)

from elasticsearch import Elasticsearch 
es = Elasticsearch(hosts = [{"host" : host_ip, "port" : 9200}]) 
ES_INDEX='sugan' 
es.search(index=ES_INDEX,body={"query":{"match_all":{}}}) 
+0

はい、すでに私はそれをしています。私はちょうどそれを知るようになるための文法を勉強しました。しかし、私は結果を得ていません –

+0

コピーしてくださいあなたの4行のPythonを貼り付けてください - ちょうどあなたが誤字がないことを確認する。 – Yaron

+0

を編集しました。一度確認してください。 –

関連する問題