PHP + Elasticsearch - от Elastic2 до Elastic6 - PullRequest
0 голосов
/ 02 апреля 2019

Может кто-нибудь объяснить мне, пожалуйста, значение этого запроса, который необходимо перевести с Elasticsearch 2 на Elasticsearch 6?

$query = '{
        "query": {
            "filtered": {
                "filter": {
                    "bool": {
                        "must": [
                            { "term": { "pouzivatelId": "5b0e65022a35d13df2236183" } },
                            { "term": { "route": "Search:default" } },
                            { "term": { "parametre.hladat": 1 } }
                        ]
                    }
                }
            }
        }
    }';


$resp = $this->elastica->request('log/user/_search/exists', Elastica\Request::POST, json_decode($query, true))
    ->getData();

Я не понимаю нескольких вещей.

  1. Url - пользователь. Я думаю, что это запрос к _type
  2. Url - существует часть. Я не могу найти документацию для этого
  3. Запрос - совместим ли он с Elastic 6?

Спасибо.

1 Ответ

1 голос
/ 02 апреля 2019
  1. Это будет работать, журнал - это индекс, пользователь - это тип. Обратите внимание, что если вы переходите на es 6.0, вы можете использовать только один тип сопоставления (https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html).. Также меняются сопоставления между 2.x и 6.x, но это не ваш вопрос.
  2. вместо этого используйте: size = 0 & terminate_after = 1 (https://www.elastic.co/guide/en/elasticsearch/reference/5.5/breaking_50_search_changes.html), существует, было удалено.
  3. Нет, попробуйте это:

    $ query = '{ "запрос": { "bool": { "должен": [ { "срок": { "pouzivatelId": "5b0e65022a35d13df2236183" } }, { "срок": { "route": "Поиск: по умолчанию" } }, { "срок": { "параметр.хладать": 1 } } ] } } } ';

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