0

Solr検索にご協力ください。彼は重複した「連絡先」を削除し、1文字で検索しません。

Model:  searchable do
          text :name
        end
controller:     query = params[:search]
                  @search = Sunspot.search [Contact] do |f|
                    f.fulltext query
                    f.keywords query
                  end
                @contacts = @search.results

レールキャストからの標準ビュー。

ありがとう。

4

1 に答える 1

0

よくわかりませんが、問題の 1 つが発生したと思います。

用語を追加すると: contacts:contact1

次の用語が続きます。 contacts:contact2

同じドキュメントに対して、結果はフィールドになります。 contacts:contact1 contact2

フィールド名は、データへのキーのようなものとして機能します。同じドキュメントに、同じキーを持つ 2 つのフィールドを含めることはできません。データベースから個別の連絡先を取得できるようにする必要がある場合は、それぞれを別の名前で保存するか、区切り記号を追加して、結合されたフィールドを取得した後にそれらを分割できるようにします。

1文字で検索する限り、次のような長いフィールドを取得するためにプレフィックス検索またはワイルドカード検索を実行していますか?

contacts:B*

そして、それは何らかの理由で機能していませんか?

それとも、使用されている StopFilter によって除去できる用語「a」またはそのようなものを一致させようとしている可能性がありますか?

于 2012-12-28T21:58:13.887 に答える