API ElasticSearch в таблицах данных fnServerData - PullRequest
0 голосов
/ 04 февраля 2019

Я хочу заполнить датированные данные изasticsearch js api.Для этого у меня есть код, подобный этому.

        var oTable = $('#myTable').dataTable({
            columns: [
                { title: "Title" }
            ],
            'bProcessing': true,
            'bServerSide': true,
            "bPaginate": true,
            "bSort": false,
            "asStripeClasses": [],
            "fnServerParams": function (aoData) {
                aoData.push(
                    {"name":"search", "value": $('#title_search').val()},
                );
            },
            'fnServerData': function (sSource, aoData, fnCallback) {
                var searchval,sortval,sortorder;
                aoData.map(function(i) {
                    var search = i.name;
                    if(search =='search') {
                        searchval = i.value;
                    }

                });
                /*Query ElasticSearch */
                client.search({
                        index: indexname,
                        type: indextype,
                        from: 0,
                        size: 10,
                        body: {
                            query: {
                                "query_string": {
                                    "query": searchval + '*',
                                    "fields": ["title", "number"]
                                }
                            }
                        }
                    }, function (error, response) {
                        fnCallback(response);
                    });

            }

        });

Я могу получить результаты из вышеуказанного вызова.Но когда я пытаюсь выполнить поиск в таблице данных, результаты добавляются для каждого поиска букв.

function search(e) {
      otTable.fnDraw();
 }

Например, я пытаюсь найти London.Когда я набираю L, он добавляет все результаты, начиная с буквы L, а когда я набираю O, он снова добавляет все результаты, начиная с Lo.

Я получаю правильный ответ от ES, я думаю, что есть проблема в конце таблиц данных при добавлении данных.

Любые идеи, что я делаю здесь неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...