私はlaravel phpを使ってWebアプリケーションを構築しています。私はalgoliaを検索サービスとして使用しています。しかし、私はアルゴリアがピボットテーブルと他のテーブルの外部IDに基づいて結果を返すようにすることはできません。私の質問は現時点でアルゴリアがピボットテーブルとリレーショナルテーブルをサポートしていないということですか?私のせい? ありがとうございます。Algoliaは、ピボットテーブルとリレーショナルテーブルをサポートしていますか?
4
A
答えて
6
検索エンジンは最初、関係を処理するようには設計されていません。データベースは優れていますが、クエリ時に大きなコストがかかります。
パフォーマンス上の理由から、Algoliaエンジンは、この種の関係をサポートしていません。したがって、アルゴリアにプッシュする前にデータを非正規化することが最善の方法です。
例:
あなたはusers(id, name)
& posts(id, author_id, content)
SQLテーブルを持っていて、ポストの内容や作者名の両方を表示しながらポストに検索したいです。
あなたの側でJOIN
を実行して、作者の名前を解決し、単一の{ "objectID": 42, "content": "...", "author_name": "<fetched from users table>" }
オブジェクトをAlgoliaにプッシュする必要があります。
関連する問題
- 1. XMLをチャンクしてリレーショナルテーブルにロード
- 2. サブクエリ非リレーショナルテーブルを使用して更新
- 3. CSS3アニメーションはサポートしていますか?
- 4. Algolia Search WordPressのGenesisテーマで作業していません
- 5. JDOMはIDとIDREFをサポートしていますか?
- 6. MonoはSystem.DrawingとSystem.Drawing.Printingをサポートしていますか?
- 7. PDFBoxはスポットカラーとセパレーションをサポートしていますか?
- 8. iOS Retina Display: "@ 2x"はjpegとpngをサポートしていますか?
- 9. AppceleratorはJQueryとCSS3をサポートしていますか?100%
- 10. アンドロイドスタジオ2はJava 8とラムダ式をサポートしていますか?
- 11. サイクロン(python)はHTTPS接続とSSLをサポートしていますか?
- 12. イベントエスプレッソプラグインは、FacebookとEventbriteをサポートしていますか?
- 13. iPhoneはマルチキャストとブロードキャストをサポートしていますか?
- 14. C intellisenseはサポートしていますが、C++をサポートしていない適切なIDEはありますか?
- 15. CUDAをサポートするGPUもOpenCLをサポートしていますか?
- 16. BLToolKit:IQueryableをサポートしていますか?
- 17. precommithooksをサポートしていますか?
- 18. DBCP - マルチスレッドをサポートしていますか?
- 19. Xpathをサポートしていますか?
- 20. DELETE CASCADEをサポートしていますか?
- 21. AUFBVをサポートしていますか?
- 22. Opera 10はhtml5オーディオタグをサポートしていますが、Opera 11はサポートしていますか?
- 23. Subsonic 3.0とDB2はサポートしていますか?
- 24. Clang 3.3とC++ 14はサポートしていますか?
- 25. GCCはコマンドファイルをサポートしています
- 26. libspotifyはoauthをサポートしています
- 27. IEはJQueryをサポートしています
- 28. stimulsoftreports.netはスタイルタグをサポートしています
- 29. なぜContinueWhenAllとContinueWhenAnyはTaskContinuationOptionsをサポートしていませんか?
- 30. SearchRequestは半径とGeoBoundingBoxパラメータをサポートしていませんか?