問題タブ [thinking-sphinx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1993 参照

ruby-on-rails - Sphinx がテスト モードで動作しないと考える

Rails のテスト モードで Thinking Sphinx を動作させようとしています。基本的にこれ:

フリーズして二度と戻ってこない。

test と devel の構成は、test と devel で同じです。

および sphinx.yml

生成された構成ファイル config/development.sphinx.conf と config/test.sphinx.conf は、データベース名、ディレクトリ、および同様のもののみが異なります。何も機能しません。

devel のインデックスの生成は問題なく行われます

しかし、テストのためにそれを実行しようとすると、フリーズします:

10 分以上そこにあり、ユーザー テーブルには 4 つのレコードがあります。

データベース ディレクトリはかなり異なって見えますが、どうすればよいかわかりません。

これが発生した場合、ログには何も追加されません。ここからどこへ行くべきか?

コマンドラインを手動で実行できます:

これは出力をrake ts:inとして生成するため、何の助けにもなりません。

0 投票する
1 に答える
426 参照

ruby-on-rails - レール用の thinking_sphinx プラグインを使用して検索結果をグループ化する

以下を使用して結果をグループ化できますが、グループごとに 1 つの結果しか返されません。

したがって、日ごとに結果を表示すると、1 日あたり 1 つの結果しか得られません。

@results 配列を解析し、それらを手動で日付別にグループ化する必要がありますか、それとも何か不足していますか? スフィンクスのドキュメントの行は次のとおりです。http://sphinxsearch.com/docs/current.html#clustering

「最終的な検索結果セットには、グループごとに 1 つのベスト マッチが含まれます。」

0 投票する
1 に答える
211 参照

ruby-on-rails - ROR プロジェクトの Thinking Sphinx でフランス語を検索

スフィンクスを使用して、データベースのエントリが実際に英語であるフランス語の単語を検索するにはどうすればよいですか?

状況は次のとおりです。

データベースに「カテゴリ」と呼ばれるテーブルを持つRORプロジェクトがあり、カテゴリ名は英語で、カテゴリには多くの「質問」エントリがあります。

ローカライズ ファイル config/locals/fr.yml では、これらのカテゴリがフランス語に翻訳されています。

拡張性について考慮してください。データベースのカテゴリ名をフランス語に変更することはできません。

ユーザーは、キーワードのタイプ部分で検索できます。

以下に例を示します: カテゴリ名: 健康と医療 フランス語: Santé et médecine

検索フィールドに「Santé médecine abc」と入力すると、sphinx は「健康と医療」カテゴリの下に「abc」というキーワードを持つ「質問」を返します。

0 投票する
2 に答える
1779 参照

ruby-on-rails - このSphinxインデックスのインデックスを正しく再作成していますか?

ThinkingSphinxのドキュメントによると...

デルタインデックスをオンにしても、完全なインデックスの再作成を定期的に実行する必要はありません...

だから私はこのcronジョブを設定しました...

それはそれを行うための合理的な方法ですか?私は何か違うことをすべきですか?

0 投票する
1 に答える
9914 参照

ruby-on-rails - Railsは、ActiveRecordの結果の既存の配列を改ページします

私は通常、アプリのページネーションに will_paginate を使用しますが、検索機能でつまずきました。全文検索に Thinking Sphinx を使用しています。これにより、ページ分割された結果が返されます。私が抱えている問題は、Thinking Sphinx から結果を受け取った後、それらを他の結果とマージして並べ替える必要があることです。

それらの処理が完了すると、TS の元の結果とは大きく異なる結果の配列が得られます。この配列には 1000 以上の結果が含まれる可能性があるため、ページネーションが必要です。問題は、will_paginate を既存の配列で再生する方法がわからないことです。

私はいくつかの調査を行いましたが、この問題に対する唯一の解決策は数​​年前のものであり、古い組み込みの Paginator クラスに基づいているようです。will_paginate を使用する最新のものは、2007 年半ばの devchix のものでした: http://www.devchix.com/2007/07/23/will_paginate-array/comment-page-1/ - 私はこれを試してみましたが、私には何もしていないようです。

AR 結果の既存の配列にページネーション (できれば will_paginate 経由) を適用する現在の方法はありますか?

0 投票する
1 に答える
689 参照

ruby-on-rails - Thinking Sphinx with Rails - Delta インデックス作成は 1 つのモデルでは正常に機能するようですが、別のモデルでは機能しないようです

User と Discussion の 2 つのモデルがあります。モデルのインデックスを以下のように定義しました:
User モデルの場合:

ディスカッション モデルの場合:

ドキュメントに従って、両方のテーブルにデルタ列を追加しました。私の問題は、デルタ インデックス作成がディスカッション モデルでのみ機能し、ユーザー モデルでは機能しないことです。例: ディスカッションの「タイトル」を更新すると、考えるスフィンクスがインデックスなどを回転させていることがわかります (ログから明らかなように)。しかし、ユーザーの「first_name」または「last_name」を更新しても、何も起こりません。

User モデルには、GroupsUser というモデルを介した has_many :through 関連付けもあります。次のように GroupsUser に after_save を設定しました。

これでも、 User モデルでデルタ インデックス作成がトリガーされるようには見えません。ディスカッション モデルの同様のセットアップは完全に機能します。なぜこれが起こっているのか誰にも教えてもらえますか?

0 投票する
2 に答える
751 参照

ruby-on-rails - Sphinx を静かにする (非冗長)

Ruby on Rails プロジェクトで Thinking Sphinx を通じて Sphinx を使用しています。シードデータを作成すると、常に非常に冗長になり、次のように出力されます。

作成されたすべてのレコードに対して。その出力を抑制する方法はありますか?

0 投票する
1 に答える
703 参照

ruby-on-rails - 思考-スフィンクスと関連性または類似性スコア

一般的なスフィンクスまたはラッパーとしてスフィンクスを使用するときに、クエリと結果の間に生の関連性または類似性スコアを取得する方法があるかどうかを誰かが知っていますか?どんな助けでも大歓迎です。

0 投票する
3 に答える
1040 参照

ruby-on-rails - ThinkingSphinxを使用した動的フィールド

製品とカテゴリがあるアプリケーションを構築しています。カテゴリhas_manyプロパティと各プロパティには、可能な値のリストがあります。カテゴリが製品に設定されると、すべてのプロパティがフォームに表示され、ユーザーはそのプロパティをプロパティの可能な値の1つに設定できます。

私の質問は:

Thinking Sphinxがプロパティとプロパティ値で製品をフィルタリングすることは可能ですか?例:

可能であれば、これを実装するための最良の方法は何ですか?そうでない場合は、この問題を解決するための他のライブラリがありますか?

ありがとう

/オラ

0 投票する
2 に答える
838 参照

ruby-on-rails - Thinking Sphinx - 文字列属性によるソートは、変更が行われると同期しなくなります

「名前」列を持つ「レストラン」テーブルがあります。次のインデックスを定義しました。

...接頭辞「The」を考慮せずにレストラン名を並べ替えたいためです。

私の問題は、これらのレコードのいずれかが (何らかの方法で) 更新されるたびに、新しいレコードがソート順の先頭にジャンプすることです。別のレコードが更新された場合も、残りのレコードよりも先にジャンプします。前回のインデックス再作成以降に更新されたレストランのリストと更新されていないレストランのリストです。それぞれのリストはアルファベット順ですが、リスト全体がこのように分離されている理由がわかりません。遅延デルタ インデックスを設定していますが、問題はこれに関連していると思います。