2017-10-17 52 views
0

我將Algolia搜索合併到我的一個應用程序中並運行到10 KB文檔大小限制。我只想索引模型中的某些字段,而不是整個事物。我使用的是mongo,它嵌入了我不關心的嵌入和相關文檔。如何使用Algolia搜索僅索引我的模型的相關字段?

我遵循的指示:https://laravel.com/docs/5.3/scout

現在,當我索引的數據,我得到的警告,約有100我的2000左右的文件是在10 KB大小。

如何告訴Algolia我只想索引某些字段並忽略一些其他數據,如關係或嵌入式文檔?

回答

2

您可以在您添加可搜索特徵的課程中使用Laravel的toSearchableArray。在這方面你只包括你實際想要搜索的部分。

public function toSearchableArray() { 
    $array = $this->toArray(); 
    $array = [ 
    'id' => $this->id, 
    'name' => $this->name, 
    'description' => $this->description, 
    'price' => (int)$this->price, 
    'likes' => (int)$this->likes, 
    'slug' => $this->slug 
    ]; 
    return $array; 
} 

這是你在找什麼?

+2

請注意,數組必須在最後返回 –