Laravel Scout с эластичным поиском не работает

Я старался

  • Использование эластичного поиска с Laravel scout с пакетами

    "laravel/scout": "^1.0",
    "tamayo/laravel-scout-elastic": "^1.0"
    
  • Запустил сервер Elasticsearch на локальном хосте: 9200, создал индекс и дал необходимые настройки,

  • добавлены поисковые черты в модель,

  • и импортировать данные для индексации, например

    php artisan scout:import "App\story"
    Imported [App\story] models up to ID: 4
    All [App\story] records have been imported.
    

Но когда я делаю поиск, он возвращает пустой массив

 story::search("the")->get()
 => Illuminate\Database\Eloquent\Collection {#754
      all: [],
 }

когда я скручиваюсь, это также показывает,

// http://localhost:9200/author/_search?pretty=true&q=*:*

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

Когда я добавляю запись без индекса в ES, модель выдает ошибку типа index not found. Но после добавления данных и всего кажется пустым. Я что-то пропустил?

Все то же самое отлично работает с algolia.


person Prakash Chokalingam    schedule 04.01.2017    source источник
comment
Похоже, ваш индекс пуст, если curl не возвращает записей.   -  person Yuri Tceretian    schedule 04.01.2017
comment
Моя проблема в том, что данные не добавляются в мой индекс через интерфейс разведки в laravel.   -  person Prakash Chokalingam    schedule 05.01.2017
comment
У меня была точно такая же проблема, не уверен, что ты когда-нибудь понял это, но я этого не сделал. В итоге я не использовал Scout   -  person ays0110    schedule 04.02.2017


Ответы (3)


Установите QUEUE=sync или вы можете отключить очередь в config/scout.php.

Была такая же проблема: https://github.com/ErickTamayo/laravel-scout-elastic/issues/43

person gabi doroftei    schedule 09.03.2017

Я была такая же проблема. Удалите свой индекс в Elasticsearch и запустите:

php artisan scout:import App\\story

Пусть разведчик создаст его.

person tacheshun    schedule 10.08.2017

Если вы используете эластичный поиск, проверьте журнал ошибок — у меня было:

sudo su 

tail -f /var/log/elasticsearch/elasticsearch.log


high disk watermark [90%] exceeded on [minbqqKpRV-umA0DPxkuww][mihai-MS-7A72][/var/lib/elasticsearch/nodes/0] free: 28.9gb[6.3%], shards will be relocated away from this node; currently relocating away shards totalling [0] bytes; the node is expected to continue to exceed the high disk watermark when these relocations are complete

Если это так, отключите проверку диска, хотя бы для проверки

curl -XPUT -H "Content-Type: application/json" \
   http://localhost:9200/_all/_settings \
     -d '{"index.blocks.read_only_allow_delete": false}'

Или сделайте эти изменения постоянными в elasticsearch.yml и перезапустите службу.

person Mihai    schedule 25.05.2021