0

アプリケーションテーブルを持つmysqlデータベースがあります。各アプリケーションには 1 人以上の開発者を含めることができるため、Sphinx では複数値の属性を作成して開発者 ID でアプリを検索したいので、次のように属性をクレートしようとします。

sql_attr_multi = クエリからの uint 開発者; \ SELECT ID、名前 FROM apps_developers WHERE app_id = $id

しかし、インデックスsphinxサーバーを構築しようとすると、エラーについて教えてくれました:

エラー: インデックス 'apps': 複数値属性 'developers' クエリが失敗しました: 'where 句' の列 '$id' が不明です。

私の考えでは、$id にはソース クエリからの各アプリケーションの id 値が含まれている必要がありますか? 私は正しいですか?なぜこのエラーが発生するのですか?

4

1 に答える 1

2

MVA クエリは、すべてのアプリの結果を返す必要があります (つまり、結果セットの最初の列が document_id と一致します)。

sql_attr_multi = uint developers from query; \
   SELECT app_id, id FROM apps_developers ORDER BY app_id
于 2012-04-20T14:41:28.417 に答える