質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

1回答

673閲覧

MySQLのトゥルーワード以外が含まれているか否かをPHPで判定したい

nasu

総合スコア82

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2021/11/04 10:31

検索フォームで、MySQLの全文検索を実行します。

https://teratail.com/questions/295673
こちらの質問と同様の状況で、記号がトゥルーワードに該当していないため検索にHITしてくれません。

そこで検索フォームに入力されたテキストにトゥルーワード以外が含まれているかを判定し、含まれていた場合は全文検索をあきらめLIKE検索を実行する方法を考えました。
(速度的な問題は残るのですが他に解決方法を見つけられず)

BOOLEAN MODEをやめる選択もあるのですが、自然言語にすると検索精度が下がってしまうためあまり利用したくありません。

「トゥルーワード以外が含まれていたら?」の判定をPHPにて行います。
正規表現になるのかなと思っておりますが、文字コードに疎くてどのような正規表現が適切かたどり着くのに膨大な時間がかかりそうなので、詳しい方がいればアドバイスいただけませんでしょうか?

UTF8にてMySQLのトゥルーワード以外が含まれているかいないかを判定するため正規表現です。
(正規表現以外でもよいアイデアがあればご教示いただけると大変ありがたいです)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/11/04 11:07

「トゥルーワード」が何を指しているのかこの情報だけでは分かりませんが、どういうテーブル定義でどういうデータに対してどういうSQLを実行しようとしているのでしょうか。
nasu

2021/11/10 10:09

トゥルーワードか否かを端的に取りまとめた形の判定が難しそうですので、検索されそうな文字を定義して、都度その部分をカスタマイズしていくことにします。 解決ではなくただの諦めなのですが・・・ 特に回答もつきませんでしたので自己解決扱いにいたします。
guest

回答1

0

自己解決

トゥルーワードか否かを端的に取りまとめた形の判定が難しそうですので、検索されそうな文字を定義して、都度その部分をカスタマイズしていくことにします。
解決ではなくただの諦めなのですが・・・ 特に回答もつきませんでしたので自己解決扱いにいたします。

投稿2021/11/10 10:10

nasu

総合スコア82

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問