タグ

全文検索とmysqlに関するdelegateのブックマーク (5)

  • 医薬品検索でMySQLの全文検索機能を使った話 - KAKEHASHI Tech Blog

    AI在庫管理の開発チームでバックエンドエンジニアをしている沖です。今回は、AI在庫管理の医薬品検索において、MySQLの全文検索機能を使った話を紹介しようと思います。 この記事は秋の技術特集 2024の 8 記事目です。 今までの医薬品検索では満足できないユーザーがいた なぜMySQLの全文検索機能を採用したのか 全文検索機能を導入する 全文検索インデックスを付与したテーブルを作成する パーサー 照合順序と正規化 全文検索インデックスを使用して検索する データを最適な状態に保つために おわりに 今までの医薬品検索では満足できないユーザーがいた AI在庫管理には、医薬品の在庫一覧画面など、医薬品名で絞り込む画面がたくさんあります。この絞り込み機能を実現するために、これまではSQLのLIKE検索を利用していました。 LIKE検索は、使い慣れたSQLを用いて部分一致検索を実現できる便利な方法です

    医薬品検索でMySQLの全文検索機能を使った話 - KAKEHASHI Tech Blog
  • MattermostのMySQLで日本語の全文検索に対応する方法 | Step On Board

    Mattermostでは日語の部分検索が対応していませんので、例えば「よろしくお願いします。」を検索するときに「よろし」ではヒットしません。これじゃ使えない。 そこで、日語での部分検索(日語全文検索)に対応する方法をメモ的にご紹介しておきたいと思います。 但し、MySQLは5.7を利用します。(標準機能のngramを使う為) 5.6以前も対応できますが、手順が異なるので今回は 5.7 のみ。 ちなみにOSは CentOS 7 を想定して記述しています。 character-setの変更 my.cnf を修正してキャラクタセットを変更します。 $ vim /etc/my.cnf 下記の内容を追記、もしくは置き換えます。 [mysql] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 inno

  • たてた Mattermost で 日本語全文検索 を可能にする - アレコレ・ティプス

    ・( 前回の記事の続きになります )・ asuki-yt.hatenablog.jp これで Mattermost が動いたのはいいものの、、 前回の記事では、インストールした Mattermost サーバーに投稿されたチャットデータ の日語全文検索 機能がないので、一旦、後付けで対応させる。 目次 環境のおさらい ストレージエンジン Mroonga の有効化 MariaDB の 設定ファイルの更新 ( my.cnf ) 設定の反映 インデックスの再構築 準備完了!サービス再起動 おまけ 環境のおさらい CentOS7 mattermost 4.7.3 ( 前回の記事の内容で稼働中 ) MariaDB   10.3.2 しかし、日語全文検索が効かない。 -> そこで今回は、、 Mroonga groonga mecab の環境を準備して、対応する話、、 にしようと思ったところ、 詳細を

    たてた Mattermost で 日本語全文検索 を可能にする - アレコレ・ティプス
  • MySQLで全文検索をするために必要なこと - 小さな星がほらひとつ

    与えられたキーワードに合致するデータをデータベースから取得することを考えた時、完全一致であれば「=」で検索を行うと思います。 では与えられたキーワードを「含む」検索、つまり部分一致を行いたいのであればどうするか。最も簡単なのは「search_column like '%キーワード%'」といった形で、「like」を使いキーワードの前後にワイルドカードを与える方法でしょう。 ですがこれを何の気無しに使うのはちょっと危険。 上記のようなlike検索ではインデックスが利用されないため(※)、全レコードをスキャンします。 かつキーワードを部分一致で探したいようなカラムは、文章等の比較的大きなサイズであると考えられます。 そのため検索コストは大きく、数千〜数万行であればまだ良いかもしれませんが、数十万ともなると利用には耐えられないでしょう。(実体験) ※ただし前方一致検索であれば、最初のワイルドカード

    MySQLで全文検索をするために必要なこと - 小さな星がほらひとつ
  • FuelPHPでInnoDBの全文検索を利用してみる

    最低限必要なのはMySQLのバージョンです。 InnoDBのFULLTEXTインデックスはMySQL 5.6.4からのみ利用できます。1 また、InnoDBのFULLTEXTは空白区切りの単語検索しか対応していない2ため、 Mecabを使用して分かち書きして保存・検索します。 MySQL, PHPはインストール済みの前提で話を進めます。 また、Fuelの基的な知識があり、セットアップは済んでいるものとします。 MeCabは次の環境構築にてインストールしていきます。 環境構築 phpでmecabを使う手順 http://qiita.com/Keech/items/3b51a60c89b9e803b256 こちらの記事を参考に環境構築をしたのですが、自分の環境ではコピー&ペーストでは動かない箇所があったのでそれを込みでインストールコマンド全てを貼り付けます。 sudoは省略しているため、コマ

  • 1