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

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

mysql - Mysql MATCH AGAINST 短い単語

関連商品をページに表示したい。次のクエリを使用します。

テーブル __items には、いくつかのアイテム (id、タイトル) と、タイトルが M のアイテムが 1 つあります。

アスタリスクを使用してみまし('M*')たが、うまくいきませんでした。ご協力いただきありがとうございます!

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

mysql - MySQL: MATCH AGAINST ですべての結果が表示されない

奇妙な問題があります。MySQL 5.1 とFulltable-Indexを持つテーブルを使用しています。mysql 構成でft_min_word_lenは、 は 2 に設定されています (つまり、長さが 2 文字以上の単語が索引付けされます)。

以下のクエリは簡略化されていますが、元のクエリと同じ効果があります。

私が検索すると:

「International Inc.」、「Internship.org」など、名前に「internat」が含まれる会社を取得します。

しかし、私が検索すると:

「Justice & Travelling」というテーブルにエントリがありますが、結果が得られません。

しかし、私が検索すると:

"Justice & Travelling" - エントリ / 正しい結果が得られます。

LIKE %just%の代わりに で検索するとMATCH-AGAINST、正しい結果も得られます。

2番目に言及されたクエリで正しい結果が得られないのはなぜですか?

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

php - Mysql MATCH AGAINST空のフィールドで、すべての結果を表示します

MATCHAGAINSTを使用してmysqlを検索する簡単な検索フォームがあります。これはすべて正常に機能します。ただし、ストップワードを検索するか、フィールドを空白のままにすると、結果は返されません。

代わりにすべての結果を返すようにするにはどうすればよいですか?

ありがとう

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

mysql - Mysql -> 全文検索に対して一致

たとえば、何百万ものレコードを含むテーブルがあります。

…………

このように MySQL MATCH AGAINST クエリを使用します。名前がmosesで年齢が23の 3 行目を選びたいと思います。

次のような通常のクエリを使用できます。 select from table where name='moses' && age ='23'

しかし、これには多くの時間がかかります。それで、私の友人は、Match Against Query を使用するように私に言いました。Match Against Query でこれを実行できるかどうかと、その利点を誰か教えてもらえますか?

MATCH() ... AGAINST構文を使用して上記のクエリをどのように記述できますか?

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

mysql - 共通データでカンマ区切りの値をグループ化する

col1 id int、varchar(コンマ区切り値)としてのcol2、およびグループを割り当てるための列3を持つテーブルがあります。テーブルは次のようになります

これは実際のデータのサンプルにすぎません。出力が次のようになるように、グループ番号をそれらに割り当てる必要があります

グループ番号を割り当てるためのロジックは、col2 の文字列のすべての同様のカンマ区切りの値は、同じグループ番号でなければならないということです。 4 つが一緒にあるため、col2 のどこかに見つかった場合、3 つすべての int 値が同じグループに割り当てられます。主要部分は 2,3,4 と 1,2,5 で、col2 の両方に 2 があるため、すべての int 1,2,3,4,5 に同じグループ番号を割り当てる必要があります。col2 に対して一致するストア プロシージャを試行しましたが、目的の結果が得られませんでした

ほとんどのインプ(何百万ものレコードがある元のテーブルから新しいテーブルを作成する余裕がないため、正規化を使用できません)、正規化でさえ私のコンテキストでは役に立ちません。


これまでに達成......グループ列の自動インクリメントを設定してから、この手順を書きました:-

この手順は機能していますが、シンテックスの間違いはありませんが、問題は、望ましい結果が得られないことです。

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

mysql - 列の値に対する全文検索?

私はこれを読みました:

列値に対するMySQL全文検索?

しかし、それはばかげています、私はそれがこれを行うことができない理由を理解していません。

回避策を知っている人はいますか?

ありがとう

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

mysql - Mysqlを使用したサブクエリ(AGAINSTへの引数が正しくありません)

MySql を使用してMATCH AGAINSTでこの クエリを 実行すると ( Query 1st を参照)、このクエリの問題で、このようなエラーが生成されました ( errorを参照)。または=を使用して同じクエリを実行すると、 正常に実行されました ( Query 2nd を参照)。

私の質問は、ステートメントに対して何が間違っているのですか?

クエリ 1 番目

エラー

アップデート

クエリ 2 番目

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

php - MATCH()AGAINST()の使用中にMYSQL構文エラーが発生しました

データベースにクエリを実行して、別々のテーブルの2つの列の間で関連する結果を見つけようとしています。これを行うには、次のコードを使用しています。

MYSQL構文にエラーがあるというエラーメッセージが表示されることを期待するかもしれませんが、それが何であるかわかりません。ポインタはありますか?

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

mysql - MySQLテーブルMATCHAGAINST

ここに画像の説明を入力してください

こんにちは、みんな、

XAMMPのパブリケーションと呼ばれるDBのクラシックと呼ばれるこの単純なテーブルを作成しました。理解できたと思った著者名をMATCHAGAINSTで検索しようとしています。

また、必要に応じて、作成者列とタイトル列の両方で、テーブルにFULLTEXTインデックスが付けられていることを確認しました。テーブルもMyISAMタイプです。

これを試してみましたが失敗しました。

SELECT author FROM classics WHERE MATCH(author)AGAINST('Charles');

チャールズが著者の列に存在している必要があることはわかっています。ご覧のとおりですが、行が返されません。

今、私がそれを他の著者に書き直すと、それは機能します

SELECT author FROM classics WHERE MATCH(author)AGAINST('jane');

これが私がジェーンで得たものです...

ここに画像の説明を入力してください

よくわかりませんが、著者だけを検索するのではなく、インデックスに登録した両方のフィールドをクエリに含める必要があったようです。これは正しいですか、そしてなぜ私がチャールズを返してもらうことができないのか誰かが知っていますか?

どうもありがとう!。

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

mysql - Like/matchに対して遅いmysqlクエリ

実際のダイヤルコードよりも大きい最も近いダイヤルコードを検索する必要があります。たとえば、33から最も近いものは331または332になります(331が存在しない場合)...したがって、33xxxxである必要があり、34は無効です。

これらの2つのクエリは機能しますが、遅すぎます(250ms /行)。

私のダイヤルコードはPRIMARYKEYBIGINT(15)です。

私はこれを行っていますか、それは本当に速いです(> 1ms /行)が、それは私が必要としているものではありません:

だから私の問題はLIKE/MATCHAGAINSTだと思います。

任意のアイデアをいただければ幸いです。

更新ソリューション:

raina77owの提案から適応したソリューション:

みんなありがとう!