createdb dougigo
psql dougigo
CREATE EXTENSION pgroonga;
# explain analyze verbose select pgroonga_highlight_html(title, pgroonga_query_extract_keywords('ジョバンニ OR 牛 OR 斉藤'))AS highlighted_title, title, pgroonga_highlight_html(body, pgroonga_query_extract_keywords('ジョバンニ OR 牛 OR 斉藤'))AS highlighted_body, body from "posts" where title &@~ pgroonga_query_expand('synonyms', 'terms', 'terms', 'ジョバンニ OR 牛 OR 斉藤')::varchar or body &@~ pgroonga_query_expand('synonyms', 'terms', 'terms', 'ジョバンニ OR 牛 OR 斉藤')::varchar limit 20 offset 90420; | |
QUERY PLAN | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
// 同義語モデル「Synonym」がある前提 | |
Synonym::all('terms'); | |
/* 出力 | |
Illuminate\Database\Eloquent\Collection {#1487 | |
all: [ | |
App\Models\Synonym {#2094 | |
terms: "{さいとう,サイトウ,斉藤,斎藤,齋藤,齊藤}", | |
}, | |
App\Models\Synonym {#2095 |
-- | |
-- PostgreSQL database dump | |
-- | |
-- Dumped from database version 14.5 (Homebrew) | |
-- Dumped by pg_dump version 14.5 (Homebrew) | |
SET statement_timeout = 0; | |
SET lock_timeout = 0; | |
SET idle_in_transaction_session_timeout = 0; |
# VER 15のPostgreSQLインストール | |
sudo su - | |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - | |
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' | |
apt-get update | |
apt-get install -y --force-yes postgresql-15 postgresql-contrib-15 | |
# アクセス設定:OSのユーザを使う YOUR_MAIN_USERNAMEをubuntuのユーザ名に、YOUR_DB_PASSWORDをお好きなパスワードに書き換えるべし |
- name: Setup PostgreSQL | |
run: | | |
sudo apt install -y software-properties-common | |
sudo add-apt-repository -y universe | |
sudo add-apt-repository -y ppa:groonga/ppa | |
sudo apt update | |
sudo apt install postgresql postgresql-14-pgroonga | |
sudo systemctl restart postgresql | |
sudo -u postgres -H psql -c "ALTER ROLE postgres WITH PASSWORD 'postgres';" | |
sudo -u postgres -H createdb TEST_DB_NAME |
sudo apt install -y software-properties-common | |
sudo add-apt-repository -y universe | |
sudo add-apt-repository -y ppa:groonga/ppa | |
sudo apt install -y wget lsb-release | |
wget https://packages.groonga.org/ubuntu/groonga-apt-source-latest-$(lsb_release --codename --short).deb | |
sudo apt install -y -V ./groonga-apt-source-latest-$(lsb_release --codename --short).deb | |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/pdgd-keyring.gpg --import - | |
echo "deb [signed-by=/usr/share/keyrings/pdgd-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list |
CREATE TABLE names ( | |
name varchar(255) | |
); | |
create extension pgroonga; | |
create index pgroonga_name_index on names using pgroonga (name); | |
insert into names values ('山田さん'); | |
insert into names values ('横山さん'); |