問題タブ [sphinxql]
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.
php - Sphinxはjson配列をすべての値と正しく一致させます
指定されたすべての要素を含むjson配列を持つ行を一致させようとしています。
検索項目の例:
予想される一致した行:
一致しない:
json属性としてインデックス化されたjsonテキストにアイテムを保存しています。
テーブルの例:
私のsphinx.confは次のようなものです:
以下を使用してみましたが、結果はありませんでした。
次のことも試しましたが、間違った結果が返されました。
私がしたとき、私は期待される結果を得ました:
ただし、クエリの速度が大幅に低下し、クエリの作成がはるかに複雑になります。
私は何を間違っていますか?
Sphinx でこのクエリを実行する正しい方法は何ですか?
sphinx - SphinxSearch: 複雑な having ステートメント
person_content
次の列を持つテーブルがあります:
- person_id INT
- content_id INT
- is_star BOOL
SphinxQL を使用して、N 以上に関連している、またはフラグをcontent_ids
持っているすべての人を選択する必要があります。is_star
COUNT
私の問題の最初の部分は、GROUP BY
とを使用して解決できますHAVING
。
is_star
リクエストに条件を追加することはできますか? または、たとえば、どうにかして?に追加is_star * N
します。t
sphinx - MATCH を使用した Sphinx の異なる結果
そのため、MATCH アイテムと MATCH all アイテムの両方で同じ結果が得られるようにしたい状況がありますが、一貫性のない結果が得られています。
DB の現在のタイプは次のとおりです。
基準を指定しない場合:
すべてのタイプの MATCH を使用:
それは私ですか、それとも両方のクエリが同じ正確な数を返す必要がありますか?
編集:
掘り下げた後、「タイプ」の1つにハイフンが含まれていることがわかりました。
次のようなものです:
「type1」または「type2」になりますが、次のようになります。
「type1」OR「type」AND「two」になります。
今、私は型を INT フィールドに変換しようとしましたが、やろうとしていました:
しかし、私はエラーが発生します:
何か案は?
sphinx - Sphinxql - フィルタリング
HAVING でクエリをフィルタリングしようとしていますが、次のエラーが発生します。
私はSphinx 2.2.6-id64-releaseを使用しています.HAVINGをサポートしています
これは私のインデックスです (application_id 属性は ID でグループ化するためのものです)。
php - multi_query が mysqli で機能せず、sphinxql を介してリアルタイムの sphinx インデックスを更新する
Sphinx リアルタイム インデックスを使用し、PHP の mysqli ドライバーを介してそれらと通信しています。単一のクエリは正常に機能しますが、multi_query を使用してバッチ更新プロセスを実装しようとしています。
クエリは次のようになります。
(これはセミコロンで内破した後、読みやすくするために改行が追加されています)
エラーは次のとおりです。
クエリをコピーして mysql CLI クライアントに貼り付けても問題ありません。
これがPHPコードです。http://foolcode.github.io/SphinxQL-Query-Builder/$conn
の Connection クラスのインスタンスですが、以下を使用して、基礎となる mysqli 接続を直接操作しています。$conn->getConnection()
multiQuery()
SphinxQL Query Builder 接続クラスの関数を使用してみましたが、同じ結果が得られました。
セミコロンが予期しないものであると主張するエラー メッセージは、私にとって最も奇妙に思えます。$end が必要な場合、それは複数のクエリをサポートしていないということですか? mysql クライアントを介して同じクエリを実行する意思がある場合、なぜそうしないのでしょうか?
sphinx - SphinxQL で空の文字列を検索する
Sphinx インデックスに文字列フィールド 'extra_data' があり、コンマ区切り形式 (例: 'green', 'red', 'green,red', ...) のデータがあります。そして、行を見つけるために選択する必要があります: 1. extra_data は「緑」です 2. または extra_data は「赤」です 3. または extra_data は空です
だから私はクエリを書くことができます:
しかし、空の extra_data ('') も検索するクエリをどのように記述すればよいでしょうか?
sphinx - 本当に基本的な SphinxQL エラー
これが私のクエリです:
エラーは次のとおりです。
なにが問題ですか?クエリを極端に単純化しましたが、まだ機能しません。
手伝ってくれてありがとう!;)
sphinx - Sphinx PHP API EscapeString() 関数は SphinxQL では機能しませんか?
Sphinx PHP API コードで次の関数を見つけました。
ただし、クエリで特定の文字を含む文字列を使用すると、Sphinx が例外をスローするため、正しく機能していないようです。
例は引用文字"
です。EscapeString()
その前にバックスラッシュ\
を置きますが、Sphinx は次のような例外をスローします。
致命的なエラー:メッセージ「SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 インデックス my_index: 構文エラー、予想外の $end 付近の ''' 内のメッセージを含む例外 'PDOException' がキャッチされていません。
さらに 2 つのバックスラッシュを追加して にすると\\\"
、エラーはスローされません。
ここでの取引は何ですか?機能しないのはなぜEscapeString()
ですか?
sphinx - SphinxQL は準備済みステートメントで動作しませんか?
Sphinx フォーラムで、この問題について議論しているスレッドをいくつか見つけました。
http://sphinxsearch.com/forum/view.html?id=5974
DB接続を作成するための私の機能:
これはうまくいきます:
結果が返されませんでした:
プリペアド ステートメントに値をバインドすると、結果が返されません。