アプリケーションに Thinking Sphinx をセットアップする場合
すべてが正常に機能していました
Thinking Sphinx で条件クエリを実行することを決定するまで
PartPriceRecord.search "50002" ,:conditions => { :supplier_id =>
"supp50002" },:star => true
そして、それは上記のエラーで私を報告しました
ThinkingSphinx::SphinxError: index part_price_record_core: query
error: no field 'supplier_id' found in schema
ライアン・ベイツのスクリーンキャストを見ても、彼は列に定義された「 has 」メソッド で条件句を達成しているようです
何かのようなもの
has :author_id
Pate Allenの投稿の 1 つを読む(一番下までスクロール)
:with should be used for attribute filters, and :conditions for
field queries.
上記のコードを句で変更する
PartPriceRecord.search "PartNumber50002",:with => {:supplier_id =>
"supp50002" },:star => true
データベースでpart_number「PartNumber50002」の「supplier_id」のレコードを確認できるため、間違った結果が得られません
今、私は混乱しています
上記のエラーが表示される理由と、「フィールド」と「属性」の根本的な違い
誰か助けてくれませんか
ところで、ここで私のインデックスの定義
define_index do
indexes part_number
has supplier_id
end
sphinx_scope(:supplier) { |name|
{:conditions => {:supplier_id => supplier}}
}