PHP Elasticsearch: подстановочный запрос не даст результатов - PullRequest
1 голос
/ 26 июня 2019

Я пытаюсь использовать подстановочный знак для определенного столбца в моем документе эластичного поиска. Однако при этом ничего не происходит. Elasticsearch не находит никаких результатов.

Источник: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html

Как выглядит мой поисковый запрос:

array:3 [
  "index" => "certificates"
  "type" => "_doc"
  "body" => array:3 [
    "from" => 0
    "size" => 25
    "query" => array:1 [
      "wildcard" => array:1 [
        "product_name" => array:1 [
          "value" => "Fra*"
        ]
      ]
    ]
  ]
]

Я не вижу разницы в том, что рекомендует документация эластичного поиска.

Версия PHP: 7.1.3

Версия Elasticsearch: 6.7.0

Ответ от эластичного поиска при поиске:

{
    "took": 2,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 0,
        "max_score": null,
        "hits": []
    }
}

Пример данных внутри документа:

enter image description here

1 Ответ

0 голосов
/ 27 июня 2019

Не удалось решить с помощью подстановочных знаков - все еще не работает - однако, он работает с query_string

            'query_string' => [
                'query' => 'product_name:' . $request->product_name . '*',
                'default_operator' => 'AND'
            ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...