2011-08-12 20 views
9

HTTP GETを使用してJSONクエリをElasticSearchサーバーに送信する方法について知っていますか? JSONコンテンツを_searchにPOSTできますが、これはクロスドメインなのでPOSTは利用できません。例えば、私のクエリは次のように見える場合:私はのようなものに変換しますJSONを使用してGET経由でElasticSearchを検索

{ 
    "query": { 
     "query_string": { 
      "fields": ["name", "description"], 
      "query": "Elastic Search" 
     } 
    } 
} 

:?9200 /インデックス/タイプ/ _search内容:

{"query":{"query_string":{"fields":["name","description"],"query":"Elastic Search"}}} 

が道にGETサーバーあり= stringifiedqueryまたはそれに類するもの?私はq =コンテンツ=を試しただけでなく、の後に内容を渡してみましたか?しかし、何も動作していないようです。誰でもアイデアはありますか?それとも私は運が尽きたのだろうか?

+0

要求を開始しているどの言語? –

+0

言語はjavascript(jquery)である可能性があります。jqueryに投稿体でGETリクエストを送信させることは本当に困難です。 – DrTech

答えて

12

クエリ文字列パラメータsourceを使用すると、通常はポストボディを送信できます。

はこのページの下をご覧ください:http://www.elasticsearch.org/guide/reference/api/

+0

POSTリクエストでもキー値としてsourceを使用しますか? RestKit(json req/resp用のObjCフレームワーク)を使用しようとしているため、ElasticSearchインスタンスに送信されるポストリクエストパラメータに付加されたjsonデータ(値)のキーと値のペアが必要になる傾向があります。 – pulkitsinghal

+1

はい、それは動作します – DrTech

+0

これは素晴らしいです。私は、このパラメータがここには記載されていないことに気付きます:https://www.elastic.co/guide/en/elasticsearch/reference/1.5/search-uri-request.htmlこれは最終的に停止する廃止予定の機能将来のリリースで動作しますか? ES 1.5.2では期待通りに動作しているようです。 –

関連する問題