我应该如何管理多语言索引(例如:page / page_translations模型应该成为page_en / page_fr索引)。我正在使用“ Dimsav\Translatable ”包。
页面模型:id、status_id、created_at、updated_at
PageTranslation 模型:id、page_id、locale、title、slug、body
Algolia 对此提供支持(https://www.algolia.com/doc/guides/search/multilingual-search/),但我不确定如何使用Laravel Scout实现这一点。
我想到的唯一解决方案是将两种语言行(来自翻译模型)索引在存储语言环境的同一索引中并在搜索中应用条件。
阿尔及利亚
objectID=1, title='英文标题', locale_id='1'
objectID=2, title='法国头衔', locale_id='2'
$pages = App\PageTranslation::search('Star Trek')->where('locale_id', 1)->get();
或者也许是更好的方法?也许分别索引page / page_translations并在两者中搜索?
我想实现类似:
pages_en index : objectID=1, title='英文标题'等
pages_fr索引:objectID=2,title='Franch title'等。
$pages = App\Page::search('Star Trek')->where('locale', 'en')->get();