私が見たスフィンクス検索の例では、実際には結合を使用していません。このようなスキーマがあった場合 (1 つの本に複数のレビューがあります)、
create table book ( id int auto_increment, title varchar(200), summary longtext );
create table reviews ( id int auto_increment, book_id int, review longtext );
レビュー内の単語を検索して対応する本を返すには、どのようなクエリを sphinx に与える必要がありますか。通常の内部結合を使用すると、各レビューは 1 つのドキュメントになり、サイトに表示される内容とは一致しません (1 つのページに書籍情報とすべてのレビューが含まれます)。
何を指示してるんですか?検索ドキュメント用の非正規化テーブルを作成し、レンダリングされたページを入力として使用する必要がありますか?
create table sphinx_input (
id int, -- corresponds 1..1 to book.id
contents longtext -- everything on the page
);
本やレビューを変更するたびにこれを変更しますか?