問題タブ [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.
sphinx - 列の値と一致しない行を返す方法は?
Sphinx のドキュメントには、SphinxQL の使用に関する簡単な例があります。
ids
コンマなどで区切られた整数値を含むvarchar 列をというテーブルに追加するとします。例えば:
特定の ID を含む行のみを選択するように上記のクエリ例を修正したい場合は、次のように簡単に変更できると思います。
右?
しかし、私がやりたいことは、列に特定の ID を含まないids
行を実際に返すことです。これは可能ですか?
編集:
「ブール式」の下で見つけたSphinxQLドキュメントから分岐するか、正確なフレーズ(またはこの場合は数字)を引用符で囲んでマイナス記号を入れるだけでよいので、答えを見つけたと思いましたフロント。
したがって、クエリの例は次のようになります。
うまくいくと思ったが、うまくいかない。
一致させたくない ID を から に変更251
する11
と、テーブルに次の列が存在します。
次に、このクエリ:
Sphinx は明らかに "111" 内の "11" に一致するため、その行は返されません。
私のconf設定があります:
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' が見つかりません
このためのステップバイステップガイドを手伝ってくれる人はいますか?
ありがとう!!
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() を実行するにはどうすればよいですか?
ありがとう
php - Sphinx RT インデックス - インデックス定義で max_matches を設定する方法はありますか
RT インデックスのクエリに SphinxQL を使用していますが、数百万のレコードが含まれています。私の問題は、結果セットの 2 ページ目をクエリしようとしたときです
それはエラーをスローします
誰かがこの問題から抜け出すのを手伝ってくれませんか? インデックス定義で max_matches を設定する方法はありますか?
私のインデックスは
php - Sphinx - SphinxQL のユーザー入力をエスケープするには?
ユーザーがキーワードを入力して投稿を検索できる Web サイトを持っています。全文検索に Sphinx 検索を使用しています。すべてが期待どおりに機能しています。
しかし、検索クエリにいくつかの特殊文字を入力/入力すると、検索が完了せず、エラーがスローされます。
例: 検索するキーワード:
sphinxql の私のクエリ:
私が得るエラー:
私のphpコードは次のようになります
ユーザー入力をエスケープし、クエリがブレーキをかけずに結果セットを返すようにするにはどうすればよいですか?
sphinx - Sphinxql: 複数のフィールドが一致する
著者と彼の本との紐が与えられます。index には と の 2 つのフィールドがありauthor
ますtitle
。著者とタイトルが一致するすべての本を見つける必要があります。文字列には著者のみまたはタイトルのみが含まれている可能性があるため、解析できません。検索したら
、 author="jane smiley" および title="horse Heaven" で最も関連性の高い本を入手できません。
次のようなものが必要です
ただし、文字列を分割することはありません。
出来ますか?
mysql - フィールド= old_value + new_valueでSphinx Realtime Indexを更新する方法は?
update the Sphinx Search Realtime Index
Mysql テーブルの値を使用して、次のように 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にはあまり情報がありません