0

お時間をいただきありがとうございます

問題

あいまいな名前の検索と正確な Regio 検索に基づくレコードの検索に問題があります。これは私が今持っているものです:

私が今持っているもの

# :klantnaam is a param from a search-form
@param = Staffingcustomer.search do
    fulltext params[:klantnaam]
end
@staffingcustomers = @param.results

「Regio」という別のフィールドがあります。
結果は、特定の「Regio」のみである必要があります。

要件の例

たとえば、
私は Regio 3 のユーザーです。Fuzzy name search Anne と自分の Regio 3 を使用して、すべての Staffingcustomers を視覚化/選択したいと考えています。したがって、Regio 2 の Staffingcustomers を見たくありません。

今起こることは次のとおりです。

@param = Staffingcustomer.search do
     fulltext 'anne'
end
@staffingcustomers = @param.results

すべての異なる地域を持つすべての Staffingcustomers を返します...

いくつかの調査/論理的思考の後

以下のようなものでよいと思います。

@param = Staffingcustomer.search do
    fulltext params[:klantnaam]
end
@staffingcustomers = @param.results.find(:all, :conditions => {:regio => 3})

また

@param = Staffingcustomer.search do
    fulltext params[:klantnaam] and fulltext '3'   ## or 3, without the quotes
end
@staffingcustomers = @param.results

しかし、それはうまくいかないようです。

この問題で私を助けてもらえますか?

ロジックの問題

実際、これは巨大なテーブルの「正確に選択された」部分に対するあいまい検索です。

お役に立てれば幸いです。

前もって感謝します。

カーズ。

4

1 に答える 1

0

次のようなものが欲しいと思います:

# find Staffing Customers with Regio 3 and text of params[:klantnaam]
@param = Staffingcustomer.search do
  with(:regio, 3)
  fulltext params[:klantnaam]
end
@staffingcustomers = @param.results

https://github.com/sunspot/sunspot#readmeを参照してください。また、DB に保存したデータ型 (整数など) として、Staffingcustomer モデルの検索可能なブロックで地域をインデックス化する必要があります。

于 2012-11-12T22:00:58.370 に答える