次のキーワードを一致させる方法を教えてください
たとえば、データベース格納文字は次のとおりです: sfsdf4-1bbsdfsd;
ユーザーは 41bb、4 1bb を入力します。この文字列も一致します。
###これを行う方法? ###ありがとう###PHP中文网2017-05-27 17:40:56
無視する必要がある特殊文字を削除した後、文字列を保存する新しいフィールドを作成します (sfsdf41bbsdfsd など)。クエリを実行する場合は、キーワードに対して同じ操作を実行し、新しいフィールドを使用して照合します。
ringa_lee2017-05-27 17:40:56
MySQL は、
SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
怪我咯2017-05-27 17:40:56
まずユーザーが送信したデータを処理し、ユーザーが送信したデータをスペース分割線で分割し、配列を形成し、この配列内のデータを使用してファジークエリを実行し、同じデータを取得する必要があると思います。 。 。ただし、多数のユーザーがこの方法でクエリを実行すると、システムの速度が非常に遅くなると思われるため、この設計パターンを使用することはお勧めできません
我想大声告诉你2017-05-27 17:40:56
質問は単語分割検索に設定されています。直接のあいまい検索は非効率的であり、自分で開発して実装するのは困難です。
検索エンジンを使用することをお勧めします。Sphinx は非常に使いやすく、mysql をよくサポートします。
php 開発をよく使用する場合は、Xunsearch も適しています。 http://www.xunsearch .com/ 中国人によって開発され、ドキュメントはすべて中国語であり、非常に使いやすいです。