Elasticsearchで全文検索する
全文検索が高速になる
検索結果が100件になる
project横断検索が高速になる
オンプレ版では2021/2/2以降のバージョンから実装されています ES_URIが無い場合
検索結果は30件
検索indexの作成・更新
自動的に作成されます
Projectのトップページにアクセスした
初めての検索時
ページを編集・削除した
初回の検索のみ失敗する可能性があります
その場合はしばらく待ってください
2回目以降は高速な検索が可能です
動作確認しているElasticsearchバージョン
elasticsearch 8.4.x
Amazon Elasticsearch Serviceは確認していません
docker-composeを使わない設定方法
環境変数ES_URIにElasticsearchのURLを設定する
https://user:pass@host:portの形式が使えます
docker-composeでの設定例
code:containers/elasticsearch/Dockerfile
FROM docker.elastic.co/elasticsearch/elasticsearch:8.4.3
RUN bin/elasticsearch-plugin install analysis-icu
ビルドする
$ docker-compose build
code:docker-compose.yml
elasticsearch:
build: ./containers/elasticsearch
environment:
- discovery.type=single-node
- cluster.name=scrapbox
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
code:docker-compose.yml
app:
image: notainc/scrapbox:latest
environment:
DELAY_APP_SERVER_STARTUP: '10000'
(略)
depends_on:
- mongo
- redis
- elasticsearch
起動する
$ docker-compose up -d
ES index version
scrapbox内部の、検索方式のバージョンの事
scrapbox-pages-v番号という名前のindexと、index templateがElasticsearchに作成される
index versionが上がると
初回の検索のみ失敗する事があります
しばらく待つとindexが作成されます
古いindexとindex template
削除してokです
基本的には、ES index versionや、古いindexの存在を意識する必要はありませんshokai.icon
新しいバージョンのScrapboxをdocker pullして起動すれば、自動的に切り替わっていきます