Laravel — Lucene Поиск

Может быть очень специфичным для пакета это. Или, надеюсь, кто-то может помочь.

Я использую этот пакет Composer — https://github.com/nqxcode/laravel-lucene-search

Я следовал инструкциям по установке (я чувствую) …

Я настроил конфигурацию следующим образом:

'index' => [

'path' => storage_path() . '/lucene-search/index',

'models' => [
// Add models descriptions here.
'Pack' => [
'fields' => [
'pack_title','pack_description',
]
]
],
],

Внутри моей «пачки» модель. У меня есть следующее …

<?php

use Illuminate\Database\Eloquent\Model;
use Nqxcode\LuceneSearch\Model\Searchable;

class Pack extends Model implements Searchable {

public function isSearchable()
{
return $this->publish;
}

// Add your validation rules here
public static $rules = [
'pack_title' => 'required',
'pack_description' => 'required',
'primary_category_id' => 'required',
'keystage'  => 'required',
'pack_unit_price' => 'required'
];

protected $primaryKey = "pack_id";

// Don't forget to fill this array
//protected $fillable = [];

use SoftDeletingTrait;

protected $dates = ['deleted_at'];

Затем я создал «SearchesController»

Похоже на это …

<?php

class SearchesController extends \BaseController {

/**
* Display a listing of the resource.
* GET /search
*
* @return Response
*/
public function index()
{
//
$query = Search::query('A New Pack Title'); // search by 'name' field.

$models = $query->get();

var_dump(DB::getQueryLog());

$count = $query->count();
}

Мой var_dump показывает это …

array(2) { [0]=> array(3) { ["query"]=> string(56) "select * from `categories` order by `category_order` asc" ["bindings"]=> array(0) { } ["time"]=> float(1.26) } [1]=> array(3) { ["query"]=> string(90) "select * from `packs` where `packs`.`deleted_at` is null and `packs`.`pack_id` = ? limit 1" ["bindings"]=> array(1) { [0]=> string(0) "" } ["time"]=> float(0.59) } }

Такое ощущение, что он не выполняет поиск в модели Packs. Или незначительный.

Я делаю что-то явно неправильно. Надеюсь, один из вас, ребята, может помочь

ура

1

Решение

Когда конфиг настроен, вы должны запустить php artisan search:rebuild -v для инициализации поискового индекса.

После этого уже можно выполнять поисковые запросы.
Если индекс не инициализирован, результат любого поискового запроса будет пустым.

0

Другие решения

Я не совсем понимаю суть проблемы. У вас есть проблемы с созданием индекса? или что еще?

Вы должны обновлять поисковый индекс после каждого создания или обновления проиндексированных моделей.

Вы можете осуществить полное или частичное обновление индекса.

За полное обновление использовать команду php artisan search:rebuild (смотрите раздел «Использование-> Команды ремесленника» в файле readme).

Частичное обновление поискового индекса будет работать после регистрации необходимых событий (см. раздел «Частичное обновление поискового индекса» в файле readme).

0

По вопросам рекламы [email protected]