0

ThinkingSphinxを使用するRubyonRailsアプリケーションを開発しています。残念ながら、時々(月に数回)検索は悪い結果を返す傾向があります(多くのドキュメントが欠落しています)。インデックスの再作成は役立ちますが、これは本番環境のソリューションではありません。

Railsコンソール(のように)に単純なクエリを入力しているときでも、悪い結果が発生していますThinkingSphinx.search 'skalee'。Sphinxsearchツールは適切な結果を返すため、インデックス作成は明らかに適切に機能します。

入力すると、ThinkingSphinx.search('skalee').results[:words]適切な数のヒット(たとえば、30のドキュメントで見つかった用語)が表示さThinkingSphinx.search('skalee').results[:matches]れますが、たとえば2つのドキュメントが含まれています。の数は、results[:words]私が取得している数と同じですsearch

遅延デルタを使用していますが、ts:ddを実行していない場合でもこの問題が発生しています。

4

2 に答える 2

0

たまたまこれに出くわしました:

http://freelancing-god.github.com/ts/en/common_issues.html#deltas

おそらく、ユーザー権限がオフになっていますか?

于 2010-10-18T16:52:34.193 に答える
0

Thinking Sphinx (または Delayed Delta、よく覚えていません) はsphinx_deleted、すべてのモデルに特別な内部属性 (またはこのようなもの) を追加します。破棄されたレコードを除外するために使用されます。残念ながら、時々うまくいきません。gem を変更すると (この属性を削除すると)、すべて正常に動作します。もちろん、破壊されたレコードをインデックスから削除するには、完全な再インデックス化 (毎晩実行) まで待つ必要がありますが、これは私の場合は小さな欠点です。または、Sphinx のキル リスト機能を使用して、削除されたエントリを除外することもできます。

于 2010-11-06T15:31:10.187 に答える