Я экспериментировал с algoliasearch-Laravel пакет.
Я вижу, что Модель может нацеливаться на несколько индексов, используя public $indices
массив внутри в модели.
Я также вижу, что можно указать, какие атрибуты отправляются в индекс с помощью getAlgoliaRecord()
метод.
У меня вопрос: возможно ли, чтобы одна Модель отправляла разные атрибуты различным индексам?
У меня были такие же требования. Запрос на открытие открыт для добавления этой функциональности Вот.
А пока вы можете просто обновить свой composer.json
включить репозиторий вручную.
"repositories": [
{
"type": "vcs",
"url": "https://github.com/lxrco/algoliasearch-laravel-4.git"}
],
И чтобы использовать его, у вас будет доступ к indexName в ваших моделях getAlgoliaRecord
метод, вот так:
public function getAlgoliaRecord($indexName)
{
$extraData = [];
if ($indexName === 'private_contacts') {
$extraData = [
'personal_number' => $this->personal_number,
'home_address' => $this->home_address
];
}
return array_merge($this->toArray(), $extraData);
}
Других решений пока нет …