2011-08-12 19 views
9

Herkes bir ElasticSearch sunucusuna HTTP GET aracılığıyla bir JSON sorgusu göndermenin bir yolunu biliyor mu? JSON içeriğini _search için POST yapabileceğinizi biliyorum, ancak bu alan adı olduğundan POST kullanılamıyor. Örneğin, benim sorgu aşağıdaki gibiyse: Ben böyle bir şey dönüştürmek istiyorumArama ElasticSearch kullanarak GET kullanarak JSON

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

: 9200/index/türü/_search içeriği:

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

bir yolu GET sunucusu var mı = stringifiedquery veya benzeri bir şey? q = ve content = yanı sıra içeriği sadece sonra geçirerek denedim? ama hiçbir şey işe yaramıyor gibi görünüyor. Herhangi bir fikri olan var mı? Yoksa şanstan mı kurtuldum?

+0

hangi dili isteği başlatıyor:

Bu sayfanın alt kısmına bakın? –

+0

Dilin javascript olması muhtemeldir (jquery ile) - jquery'yi bir post gövdeyle bir GET isteği göndermeye zorlamak gerçekten zordur – DrTech

cevap

12

Normalde post gövdesi olacak olanları göndermek için source sorgu dizesi parametresini kullanabilirsiniz. http://www.elasticsearch.org/guide/reference/api/

+0

Anahtar değer olarak kullanılacak kaynak POST istekleri için de çalışır mı? Soruyorum çünkü RestKit'i (json req/resp için ObjC çerçevesi) kullanmaya çalışıyorum ve ElasticSearch örneğine gönderilen post isteği parametrelerine eklenen json verileri (değer) için anahtar-değer çiftleri gerektirme eğiliminde. – pulkitsinghal

+1

Evet, işe yarayacak – DrTech

+0

Bu harika. Bu parametrenin burada belgelenmediğini fark ettim: https://www.elastic.co/guide/en/elasticsearch/reference/1.5/search-uri-request.html Bunun, sonunda durması gereken kullanımdan kaldırılmış bir özellik olup olmadığını bilen var mı? Gelecek sürümlerde çalışıyor? ES 1.5.2'de beklendiği gibi çalışıyor gibi görünüyor. –

İlgili konular