0

これらに似ています: sphinx-not-indexingthinking-sphinx が console に空の結果を返す、ここに似ています

問題の説明は次のとおりです。Sphinx からどのパラメーターを使用しても結果が得られません。hdd の足場があり、Rails コンソールで Sphinx を使用して検索を実行しようとすると、[] が表示されます。これは、データベースにアイテムがあることがわかっている場合でも同じです。Hdd.search() を実行すると、Hdd.all と同じ結果が得られるはずですが、代わりに [] が得られます。Hdd.search().to_a の実行に関する投稿を見ましたが、それは私にとって違いはありません。nil になります。他の人にとっては、Web ページで Rails コンソールとは異なる結果が得られることがあるようですが、私にとってはそうではありません。私のサイトには検索機能もあり、[] も生成されます。

おもしろいのは、最後に動作していたときから失敗している間に、モデルとビューを変更し、いくつかの移行を行い、新しいプラグイン、carrierwave をインストールするなど、いくつかの小さな変更を追加したことだけです。さて、その間、検索が機能していないようです。考えるスフィンクスを再起動、再構築、再インデックスしましたが、役に立ちませんでした。サーバーも再起動し、Apache の代わりに webrick で実行しましたが、問題は本質的に同じままです。

出力:

rake ts:rebuild

using config file '/home/adam/RailsForensicsHardDriveApp/ForensicsHDD/config/development.sphinx.conf'...
indexing index 'hdd_core'...
collected 6 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 6 docs, 292 bytes
total 0.006 sec, 47510 bytes/sec, 976.24 docs/sec
indexing index 'hdd_delta'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.003 sec, 0 bytes/sec, 0.00 docs/sec
skipping non-plain index 'hdd'...
total 4 reads, 0.000 sec, 3.8 kb/call avg, 0.0 msec/call avg
total 14 writes, 0.000 sec, 2.5 kb/call avg, 0.0 msec/call avg
Started successfully (pid 6700).

上記の ^ に「非プレーン インデックス 'hdd' をスキップしています...」という行があることに気付きました。

それが何を意味するのかはわかりませんが、本来あるべきことをしていないように聞こえます。

ruby debug を使用して関数のデバッグを試みましたが、まだ実を結んでいません。私が投稿した内容から、他の誰かが私に役立つアドバイスをしてくれることを願っています。

rake rails:update を実行しました。 think-sphinx gem をアンインストールして再インストールしました

この要点には、関連するファイルが含まれています。モデルでは、サイズを拡張することで連結スペースが小さすぎるという問題を解消しようとしましたが、それでも違いはありませんでした。

デルタのドキュメントとパッセンジャーを使用したスフィンクスのセットアップに関する FAQ を読みました(はい、パッセンジャーを使用してレールを実行しています)。その前にスフィンクスが不思議なことにうまく動作していたので、どちらも問題ではないと思います (私には)正しく機能しなくなりました。

正直なところ、なぜそれが機能しないのかわかりません。私はプロジェクト全体をgitの下に持っており、以前のバージョンが機能していたときにロールバックし、インデックスを再構築して検索を実行しようとしましたが、うまくいかないようです. データベースを削除して再作成し、再移行してから sphinx を再構築しようとしましたが、どちらもうまくいきませんでした。

4

2 に答える 2

0

sudo apt-get purge sphinxsearch を実行して再インストールしたところ、エラーが発生してサーバーがやみくもに続行するのを何らかの形で停止したことがわかりました。私が投稿したモデルを見ると、移行によって移動した開発型で使用される特別なフィールドがあったことがわかります。thinking-sphinxを(gemとaptパッケージの両方として)再インストールした後、本当に奇妙なエラーが発生したため、これが機能を妨げていたと思います。再インストール後、データベースを削除し、移行を編集して type ではなく hd_type にすると、hdd のインデックスを正常に再作成し、検索結果を入力することができました。これが正確ではないことはわかっていますが、

この回答とは異なるコンテキストを提供する場合に備えて、この記事にリンクしている私の回答を参照してください。

于 2012-07-13T01:04:04.173 に答える
0

非プレーン インデックス 'hdd' をスキップしても問題ありません。これは分散インデックスであり、インデックスを作成できません。インデクサーの出力を見ると

collected 6 docs, 0.0 MB

つまり、インデックスには 6 つのドキュメントしかありません。Sphinx からエラーが発生しない場合は、検索に一致するドキュメントがない可能性があります。

于 2012-07-13T06:51:16.057 に答える