私は自分が正しい方法で物事を行っているかどうかを確認するよう求めているだけです。django アプリに高度な検索機能を追加したいと考えており、バックエンドとして SOLR を使用して Haystack のテストを開始しました。
部分一致がどうしても必要なので、schema.xml を変更して、haystack で定義されたテキスト フィールドが次のように nGram 型になるようにしました。
<field name="text" type="ngram" indexed="true" stored="true" multiValued="false" />
haystack に含まれるデフォルトのビューで部分一致が機能するようになったため、John というモデルの場合、「Joh」を検索すると、「ohn」または任意の 3 文字の組み合わせであるため、見つかりました。
これは正しい方法ですか?パフォーマンスの問題により、テキスト フィールドがデフォルトで ngram タイプにならないのはなぜですか?
どうもありがとう!