問題タブ [match-against]
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.
mysql - MySQL 全文検索とスコア
フルテキストを使用した検索の関連性とフィルター処理 (照合) に問題があり、以下で説明します。
150 万件を超えるレコードを含む Songs というテーブルがあります。このテーブルには多くの列が含まれており、そのうちの 2 つは名前とアーティストであり、これら 2 つの列は全文索引付けされています。
値と正確に一致するタイトルと曲を検索すると、低いスコアが表示されます。たとえば、私にとっては意味がありません。
データ:
以下のクエリを実行すると、次のようになります。
完全一致を探していますが、なぜ 54.7 になるのでしょうか??
+記号を削除すると
まったく関係のない他の多くの記録についても、同様の回答をするつもりです。
私にとって、「+」記号を使用した検索は 100 近くになるはずですが、そうでないのはなぜですか?どうすれば改善できますか?
php - solr などを使用して MySQL の match-against で %someword% と同じ効果を得る方法
重複の可能性: 「*abc」などのプレフィックス ワイルドカードを match-against で使用する方法
しかし、私は私の答えを見つけることができないので、重複して申し訳ありませんが、この質問をしました.
MySQL でクエリを実行しています
レコードは次のとおりです。
- 私はジョン・ドウです。
- ジョン・ドウは男だ。
- ジョンの姓はドウです
%john d%のように、最初の 2 つの結果は同じ順序で一致し、ワイルドはレコード内の任意の場所に一致するため、一致しますが、大規模なデータ セットでは、これによりパフォーマンスが低下します
だから私はグーグルで 検索し、代わりにMATCH AGAINST IN BOOLEAN MODEを見つけました。今、私の検索用語は次のとおりです。
同じ順序で結果を取得したいだけです。(例: 1. 私は john doe です。2. john doe は男性です) この検索語 john d についてですが、達成できません。 %john d% のように、私の希望は得られますが、パフォーマンスが低下します。高速なパフォーマンスで MySQL で目的の結果を得るにはどうすればよいですか。
重複の可能性: '*abc' などのプレフィックス ワイルドカードを match-against で使用する方法
@GolezTrolは、文字列を逆にする別の列を作成するソリューションを提供しました。
次に、 '%john d'を探す代わりに、'john d%' を探すことができます。これは、列にインデックスが付けられている場合にはるかに高速です。
しかし
@PeerBr文字列の途中から何かを見つけたい場合は、文字列を反転しても役に立たないことに注意してください。通常のインデックスを使用して'Blue%'と入力しても、逆 inices を使用して'Blue%'を反転しても、 "Jimmy Blue Jones"は見つかりません。
ありがとう
mysql - MySQL MATCH AGAINST: 複数の単語が一致してもスコアは同じ?
私は次のようなクエリを持っています
この特定のクエリの結果は次のとおりです。
ご覧のとおり、ID 14116 の行には、ap.name に blue と tomatoe の両方の単語が含まれています。2 つの単語が一致した場合でも、1 つの単語が一致した場合と同様にスコアは同じです。だから私は試しAGAINST('+style +mode' IN BOOLEAN MODE)
てみAGAINST('+*style* +*mode*' IN BOOLEAN MODE)
ましたが、望ましい結果を得ることができません.より多くの単語が一致するほど、より高いスコアが返されます. 何か案は?
mysql - Mysql - Match Against で数字を使用する
match against 句を使用して、この mysql コードを変換したい
これとの試合でこれに相当するものは何ですか?