2016-08-04 12 views
0

Ich versuche, einen neuen Index in Algolia zu erstellen, der mit meinem ersten Index identisch ist, aber andere Daten als mein erster Index hat. Ich möchte einen Kontakt-Index für NZ und einen anderen für AU haben.Algolia Restrict Index Daten

Ich verwendete indexOnly($index_name) mit einer Bedingung innerhalb dieser Funktion. Aber es funktioniert nicht richtig und ich weiß nicht, ob diese Funktion das ist, was ich brauche. Diese

ist, wie ich es bin die Schaffung

class Contact extends Model { 

    use AlgoliaEloquentTrait; 

    protected $table = 'contacts'; 

    public $indices = ['contacts_local']; 

    /** ALGOLIA SETTINGS */ 

    public function getAlgoliaRecord() 
    { 
    return fractal()->item($this)->transformWith(new ContactTransformer)->toArray(); 
    } 

    private $index_name = 'contacts_local'; 

    public function indexOnly($index_name) { 
    return $this->contact_country == 'New Zealand'; 
    } 
} 

ich dann die reindex Funktion auszuführen.

Die obige Methode gibt nichts in meinem contacts_local Index zurück. Was mache ich hier falsch?

Ich benutze die gleiche Tabelle in meiner Datenbank, aber die zwei Indizes werden unterschiedliche Daten abhängig von der country der contact haben. Wäre das in Algolia möglich?

Antwort

4

Ich bin mir nicht sicher, ob dies mit der Algolia Laravel/Eloquent Integration machbar ist. Was ich tun würde, stattdessen ist:

Dies wird leichter sein, und so schnell wie pro Land 1 Index.

Verwandte Themen