https://github.com/askdkc/proontest
PGroonga全文検索のクエリ速度検証用
https://github.com/askdkc/proontest
Last synced: 5 months ago
JSON representation
PGroonga全文検索のクエリ速度検証用
- Host: GitHub
- URL: https://github.com/askdkc/proontest
- Owner: askdkc
- Created: 2022-05-27T13:17:52.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T04:48:50.000Z (about 2 years ago)
- Last Synced: 2024-05-21T09:34:21.389Z (about 2 years ago)
- Language: PHP
- Size: 391 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## このリポジトリについて
PGroongaの全文検索を使うとLIKE検索よりも、何故か検索が遅いのを確かめるデモ
## 使い方
```
git clone このURL
cd proontest
composer install
cp .env.example .env
php artisan key:generate
vi .env
---こちらを自環境に合わせて適当に変えてください---
DB_DATABASE=proontest
DB_USERNAME=root
DB_PASSWORD=
-------------------------------------------
PGroongaのExtensionをDB作成時に手動で入れてる人は
database/migrations/2022_05_27_create_posts_table.phpの下記をコメントアウトしてご利用ください。
DB::statement("CREATE EXTENSION pgroonga;");
下記コマンドでDB作成とサンプルデータを流し込みます(20万レコード流し込むので少し時間がかります。1〜2分程度。)
php artisan migrate --seed
php artisan serve
http://127.0.0.1:8000 にアクセス
```
## SQLの処理時間確認
http://localhost:8000 にアクセス後「LIKE検索」と「&@~全文検索」をそれぞれ
クリックして検索速度の違いを画面下のDebugBarにあるQueriesからご確認ください。
PGroongaの全文検索である&@~が妙に遅いです。
## インデックスの指定ミス
単純にデータ項目に応じたインデックス指定が出来ておりませんでした。
- varcharには pgroonga_varchar_full_text_search_ops_v2 を指定する必要あり
- textの場合は特に指定不要でOK
下記に修正版ブランチを作成しました
[修正版ブランチ](https://github.com/askdkc/proontest/tree/pgindexfix)
以下のやり方でお試しください
```
git checkout pgindexfix
dropdb proontest
createdb proontest
php artisan migrate --seed
php artisan serve
http://127.0.0.1:8000 にアクセス
```