Эластичный поиск с помощью Laravel для нескольких полей - PullRequest
0 голосов
/ 08 октября 2018

Я интегрировал упругий поиск в laravel с помощью приведенного ниже урока.

https://appdividend.com/2018/06/30/laravel-elasticsearch-tutorial-example/

В соответствии с этим уроком поиск по отдельным полям работает нормально.то есть

// Article table has column 'title','body' and 'tags'.

 Route::get('/search', function() {
      $articles = Article::searchByQuery(['match' => ['title' => 'Test']]);
      return $articles;
 });

Но я хочу искать с несколькими значениями столбцов, такими как 'title', 'body' и т. д.

Кто-нибудь предлагает идею, как искать с несколькими столбцами?

1 Ответ

0 голосов
/ 08 октября 2018

Вы можете использовать запрос multimatch , выше приведен пример того, как это можно сделать.

GET _search
{
    "query": {
        "bool": {
            "must": {
              "multi_match" : {
                "query": "stuff you want to seach", 
                "type":  "cross_fields",
                "fields": [ 
                   "title^10",
                   "body^9",
                   "tags^8"
                ]
              }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...