簡體   English   中英

使用Elasticsearch的Ajax查詢格式

[英]Ajax query format with Elasticsearch

我正在嘗試使用AJAX向我的elasticsearch索引發出發布請求。 cURL結果為:

[~]$ curl -XGET 'http://localhost:9200/firebase/_search?q=song:i%20am%20in'

{"took":172,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":2,"max_score":0.82749283,"hits":[{"_index":"firebase","_type":"song","_id":"0001","_score":0.82749283,"_source":{"song":"i am in california","song_name":"hello","song_url":"https://s3.ap-south-1.amazonaws.com/songapp-dump/media/songs/Adele_-_Hello-_i_am_in_california.mp3"}},{"_index":"firebase","_type":"song","_id":"0002","_score":0.28582606,"_source":{"song":"i must have called a thousand times","song_name":"hello","song_url":"https://s3.ap-south-1.amazonaws.com/songapp-dump/media/songs/Adele_-_Hello-_i_must_have_called_a_thousand_times.mp3"}}]}} 

瀏覽器結果是: 在此處輸入圖片說明 這也可以正常工作。 意味着已經創建了索引,並且cURL / GET可以獲取結果。

當我試圖讓AJAX請求執行相同操作時,我可能正在努力查詢格式。 我不知道。

Ajax.js

$(function() {
    $('#message').keyup(function() {
        // console.log(JSON.stringify());
        var data = {
                'song': $('#message').val()
            };
        console.log(JSON.stringify(data));
        $.ajax({
            type: "POST",
            url: "http://localhost:9200/firebase/_search",
            contentType: 'application/json',
            // data: {
            //     'q': $('#message').val()
            // },
            data: JSON.stringify(data),
            success: searchSuccess,
            dataType: 'jsonp'
        });

    });

});

控制台記錄以下錯誤: 在此處輸入圖片說明

基本上是400錯誤的請求錯誤。 我無法弄清楚我的查詢或創建Ajax請求的方式是否有問題。 為什么會有回調問題! 任何幫助,將不勝感激。 我已經在網上搜索了這個問題,並嘗試了各種組合。

將方法更改為GET ,將dateType更改為json 此外,querystring還需要q參數。

     var data = {
         'q': 'song:' + $('#message').val()
     };

     $.ajax({
        type: "GET",
        url: "http://localhost:9200/firebase/_search",
        contentType: 'application/json',
        data: JSON.stringify(data),
        success: searchSuccess,
        dataType: 'json'
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM