問題タブ [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.
ruby-on-rails - Rails 2.3.5 で Thinking Sphinx を実行する際の問題
ソースをダウンロードして Sphinx (ディストリビューション: archlinux) をインストールしました。次に、Rails 用の「Thinking Sphinx」プラグインをインストールしました。
公式ページのセットアップとRyan Bates のこのスクリーンキャストに従いましたが、モデルのインデックスを作成しようとすると、次のエラーが表示されます。
config/sphinx.yml ファイルを変更して、デーモンを手動で開始してみました (/usr/bin/sphinx-searchd):
しかし、同じエラーが表示されます。アイデアはありますか?
ruby-on-rails - 考えるスフィンクス、has_one 関連付け
どなたか、Thinking_sphinx の設定を手伝ってください。テーブル profile1 があり、これには profile2 と profile3 が 1 つ含まれています。したがって、両方にインデックスを付ける必要がありますが、できません。私は試した
何が間違っているのですか?ありがとう。
ruby-on-rails - Thinking Sphinx、複雑な並べ替え - 拡張並べ替えと expr 並べ替えを組み合わせるにはどうすればよいですか?
式で並べ替え、次に属性の昇順で並べ替え、次に別の属性の昇順で並べ替えます。このようなもの: :order => "(a < some constant) desc, b asc, c asc"
. 入手方法は?
のため、拡張ソートは機能しません<
。カンマが原因で Expr が失敗します。
:order => "(a < some constant) desc, b desc"
with と同等の並べ替えを作成できまし:order => "(a < some constant)", :sort_mode => :expr, :sort_by => :b
たが、その並べ替えに別の属性 ( c
) を追加したり、並べ替えモードb
を asc に変更したりすることはできません。
mysql - 動的条件でSphinx検索を使用することは可能ですか?
私のWebアプリitems
では、次の条件でテーブルに対して3種類の検索を実行する必要があります。
items.is_public = 1
(title
インデックス作成にフィールドを使用)-多くの結果を取得できます(カーディナリティは他の場合よりもはるかに高くなります)items.category_id = {X}
(インデックス作成にはtitle
+private_notes
フィールドを使用)-通常は100未満の結果items.user_id = {X}
(インデックス作成にはtitle
+private_notes
フィールドを使用)-通常は100未満の結果
これらすべてのケースでSphinxを機能させる方法を見つけることはできませんが、最初のケースではうまく機能します。最初のケースにのみSphinxを使用し、MySQLで単純な古い「遅い」全文検索を使用する必要がありますか(少なくとも2〜3のケースではカーディナリティが低いため)?
それとも私だけで、Sphinxはほとんどすべてを行うことができますか?
mysql - テキスト検索をデータベースの特定のサブセットに制限するには?
私は、約 100 万件の大量のレコードを含む大規模な中央データベースを持っています。私のアプリでは、すべてのユーザーに対して、中央テーブルからの行のサブセットが非常に小さくなります (おそらくそれぞれ 100 レコード)。特定のユーザーがログインしたときに、このデータ セットのみを検索したいと思います。例:
世界中のすべての車の中央データベースがあるとします。General Motors(GM)、Ferrari などのユーザー プロファイルを持っています。GM がログインしているときに、GM によって製造された車を検索 (SQL クエリではなく全文検索) したいだけです。また、GM はモデルを起動/撤回する場合があり、その場合、中央データベースが更新され、GM に関連付けられた行セットが更新されます。買収の場合、特定のプロファイルのデータベースは、新しい車の発売/削除なしで変更される場合があります。したがって、中央データベースは変更されませんが、行セットは変更される場合があります。
そのようなデザインを実装する最良の方法は何ですか? これらの小さな行セットは、ユーザーのアクティビティに応じて動的にする必要があります。
Rails 2.3.5 を使用しており、コネクタとして thinking_sphinx を使用し、検索とリレーショナル アソシエーションには Sphinx/MySQL を使用しています。
ruby-on-rails - 日付範囲のあるThinkingSphinx
Railsアプリに全文検索APIを実装しており、これまでThinkingSphinxで大きな成功を収めています。
日付範囲検索を実装して、「範囲の値が正しくありません」というエラーが発生し続けたいと思います。
これがコントローラーコードのスニペットです、そして私は次に何をすべきかについて少し立ち往生しています。
ログを見ると、日付がTime.now.utcと同じ時間形式に変換されていないことを意味しているように見えるこのビットが表示されます。
何か案は?基本的に、特定の日付以降のすべての投稿を表示するために、「以降」の日付でAPIリクエストを渡そうとしています。日付はYYYY-MM-DD形式にするように指定しています。
ご協力いただきありがとうございます。クリス
編集: 日付パラメータのマージステートメントをこれに変更しました
@ search_options.merge!(:with => {:post_date => d.to_date..DateTime.now})
そして今、私はこのエラーを受け取ります
2010年5月25日火曜日の未定義のメソッド`to_i':日付
ですから明らかに、まだ正しく設定されていないものがあります...
mysql - スフィンクスがレンダリングしないと考えると、「関連性」の順に結果が表示されます
Thinking Sphinx のドキュメントによると、関連性に基づいて結果が自動的に並べ替えられます。その関連性指標は何ですか? システムに対して独自の関連性メトリックを定義するにはどうすればよいでしょうか?
例: 1 つのエントリが Windows XP であり、Microsoft への参照が含まれているデータベースがあります。Microsoft 自体のエントリもあります。したがって、 Microsoft にクエリを実行すると、最初に Microsoft の結果を取得し、次に XP の結果を取得する必要があります。しかし、私はXPの結果を最初に取得し、次にMicrosoftの結果を取得します。
どんな助けでも大歓迎です。:)
ruby-on-rails - スフィンクスを考え、更新された記録がない
サーバークラスター内のユーティリティインスタンスでthinkingsphinxを実行しています。毎分インデックスを再実行しています。ただし、レコードに変更を加えると、インデックスが更新されるまで(最大1分)、検索結果に表示されなくなります。
Thinking Sphinxは、updated_atが最後のインデックスよりも少ない行のみを返しますか?
もしそうなら、ユーティリティインスタンスのTSを更新するためにdbの変更を取得するにはどうすればよいですか?
sphinx - sphinx.ymlファイルが見つかりません
私はデータベーススキームとしてmysqlを使用してrails2.2.3を実行しており、プラグインとしてsphinxをインストールしていると考えています。私は2つの問題を抱えています:
1)ファイルconfing/sphinx.ymlが見つかりません。config / development.sphinx.confがあります。2)モデルのdefine_indexメソッドからmin_infix_len&enable_startプロパティを指定しました。development.sphinx.confファイルも確認しましたが、これらのプロパティは正しく設定されています。しかし、中置検索結果が表示されません。
助けてください。
indexing - Thinking Sphinx - デルタ インデックスが使用されているにもかかわらず、誤検知が表示される
これは、考えるスフィンクスではなく、スフィンクスに関係している可能性があります。
デルタインデックスを使用しています。
- レコードに「foo」という単語が含まれるテキスト フィールドがあるとします。
- 完全な索引付けが行われます
- 単語「foo」はレコードから削除されます
- デルタインデックス作成が行われます
- 「フー」を検索
- 「foo」という単語が含まれていなくても、上記のレコードが返されます
- 期待される結果: 上記のレコードは返されません。
同じレコードがデルタ インデックスに存在する場合、メイン インデックスからのレコードを無視するように sphinx に指示する構成の問題であるかどうかはわかりません。
更新: 誰かがこれに応答できますか?