問題タブ [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.

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

sphinx - 列の値と一致しない行を返す方法は?

Sphinx のドキュメントには、SphinxQL の使用に関する簡単な例があります。

idsコンマなどで区切られた整数値を含むvarchar 列をというテーブルに追加するとします。例えば:

特定の ID を含む行のみを選択するように上記のクエリ例を修正したい場合は、次のように簡単に変更できると思います。

右?

しかし、私がやりたいことは、列に特定の ID を含まないids行を実際に返すことです。これは可能ですか?

編集:

「ブール式」の下で見つけたSphinxQLドキュメントから分岐するか、正確なフレーズ(またはこの場合は数字)を引用符で囲んでマイナス記号を入れるだけでよいので、答えを見つけたと思いましたフロント。

したがって、クエリの例は次のようになります。

うまくいくと思ったが、うまくいかない。

一致させたくない ID を から に変更251する11と、テーブルに次の列が存在します。

次に、このクエリ:

Sphinx は明らかに "111" 内の "11" に一致するため、その行は返されません。

私のconf設定があります:

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

php - SphinQL Query Builder に接続するには?

Ubuntu 12.04 + PHP + Nginx + MySQL 5.6 を使用しています

私のプロジェクト パスは /usr/share/nginx/www/project1 です

Sphinx を正常にインストールし、完全な API に接続できました。しかし、私は SphinxQL Query Builder を使用するのが好きです。

私は composer と php 名​​前空間に精通していません。マシンに composer をインストールしました。

「SphinxQL-Query-Builder-master」フォルダーをプロジェクトのルート ディレクトリにコピーしました。

今、私はこれを実行しました

これは致命的なエラーを返します: クラス 'Foolz\SphinxQL\Connection' が見つかりません

このためのステップバイステップガイドを手伝ってくれる人はいますか?

ありがとう!!

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

replace - mysql のような Sphinxql Replace() 関数

以下の例のように、mysql で検索を見つけることができます。

レコード: I'Histoire クエリ検索:IHistoire

このSQLクエリを使用すると、「文字列」で単語を見つけることができます.

kitap_id,kitap_Adi,turu,fiyati,kargo,satici,yazari,yayinevi,yayin_Yili,yayin_Yeri,kucuk_Re sim,kondisyon FROM kitaplar WHERE onay='1' および (REPLACE(kitap_Adi,'''','') like '% IHistoire%' または '%IHistoire%' のようなヤザリ) fiyati asc LIMIT 0,5 による順序。

しかし、スフィンクスではどうすればこれを行うことができますか? 以下のクエリは、一致するものを見つけます。

select kitap_id,kitap_Adi,turu,fiyati,kargo,satici,yazari,yayinevi,yayin_Yili,yayin_Yeri,kucuk_Re sim,kondisyon from test1 where match ('@(kitap_Adi,yazari)(IHistoire)') and onay=1 order by kitap_Adi asc , fiyati asc LIMIT 0,5\G;

sphinxql で replace() を実行するにはどうすればよいですか?

ありがとう

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

php - Sphinx RT インデックス - インデックス定義で max_matches を設定する方法はありますか

RT インデックスのクエリに SphinxQL を使用していますが、数百万のレコードが含まれています。私の問題は、結果セットの 2 ページ目をクエリしようとしたときです

それはエラーをスローします

誰かがこの問題から抜け出すのを手伝ってくれませんか? インデックス定義で max_matches を設定する方法はありますか?

私のインデックスは

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

php - Sphinx - SphinxQL のユーザー入力をエスケープするには?

ユーザーがキーワードを入力して投稿を検索できる Web サイトを持っています。全文検索に Sphinx 検索を使用しています。すべてが期待どおりに機能しています。

しかし、検索クエリにいくつかの特殊文字を入力/入力すると、検索が完了せず、エラーがスローされます。

例: 検索するキーワード:

sphinxql の私のクエリ:

私が得るエラー:

私のphpコードは次のようになります

ユーザー入力をエスケープし、クエリがブレーキをかけずに結果セットを返すようにするにはどうすればよいですか?

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

sphinx - Sphinxql: 複数のフィールドが一致する

著者と彼の本との紐が与えられます。index には と の 2 つのフィールドがありauthorますtitle。著者とタイトルが一致するすべての本を見つける必要があります。文字列には著者のみまたはタイトルのみが含まれている可能性があるため、解析できません。検索したら

、 author="jane smiley" および title="horse Heaven" で最も関連性の高い本を入手できません。

次のようなものが必要です

ただし、文字列を分割することはありません。

出来ますか?

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

mysql - フィールド= old_value + new_valueでSphinx Realtime Indexを更新する方法は?

update the Sphinx Search Realtime IndexMysql テーブルの値を使用して、次のように RT インデックスのレコードを取得しようとしています。add the new value in the old valueこれを達成したいです。

私がしようとしているクエリは

しかし、スフィンクスは私にエラーを与えます

エラー 1064 (42000): sphinxql: 構文エラー、予期しない IDENT、'comments_count + 3 WHERE id = 1157642' 付近に CONST_INT (または他の 4 つのトークン) が必要です

私はこのようなクエリを試しました

それでもスフィンクスはエラーを出し、

エラー 1064 (42000): sphinxql: 構文エラー、予期しない IDENT、'value(comments_count) + 3 WHERE id = 1157642' 付近に CONST_INT (または他の 4 つのトークン) が必要です

sphinxリアルタイムインデックスの更新を使用して、古い値に新しい値を追加するにはどうすればよいですか?

私はこれを行うためにPHPを使用しています。

http://sphinxsearch.com/docs/current.html#sphinxql-updateにはあまり情報がありません