背景
- Wiki.js是在Node.js上運行並用JavaScript編寫的Wiki引擎。它是根據Affero GNU通用公共許可發布的免費軟件。提供方式可以作為自託管解決方案,也可以在DigitalOcean和AWS市場上使用“單擊”安裝。(wiki)
- 根據wikipedia[^1]上的數據,Wiki.js誕生於28 January 2017,是wiki家族最年輕的系統(相對最年長的系統WikiWikiWeb是1995誕生),雖然如此,也是最為活耀的系統,目前已經更新到2.5版。
- Wiki.js的特色自然是其執行node.js的網站架構,目前還有Nuclino、TiddlyWiki等其他的系統也是使用javascript的網頁程式,前者是個公司經營的協作系統、後者適合個人筆記系統,沒有資料庫系統程式支援搜尋引擎。
- 整體筆記系統可以參考[[2022-10-08-about_note_sw]]1
- Wiki.js官網
- wiki.js 使用 postgres 支持中文全文检索
system installation
wiki.js中文搜索
- 2023/01/09 總算完成了中文的全文檢索了。
- 因為Wiki.js更新速度沒有像elastic商業公司這麼快,整整慢了人家1個版次。
- 而Mac上的java又不允許降版,試了3種裝置方式(brew/docker/curl、前2者還跟postgres的使用權限衝突)、4個版次(6.8、8.5、7.10、7.17)最後方案是按照Lucent IK官網上的7版版次,裝置了elasticsearch-7.17.7。
- Wiki.js安装及中文搜索
elasticsearch
- try
brew install elasticsearch@6 (fail)
/usr/local/opt/elasticsearch@6/bin/elasticsearch &
NOTE 不論是
brew services start /usr/local/opt/elasticsearch@6/bin/elasticsearch
或者是直接執行都不成
- try docker
- ElasticSearch学习笔记NO.003 Docker搭建ES集群(MacOS)
- Install Elasticsearch with Docker
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.5.3
- Start a single-node cluster with Docker
- try from gz
curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-darwin-x86_64.tar.gz curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-darwin-x86_64.tar.gz.sha512 | shasum -a 512 -c - tar -xzf elasticsearch-8.5.3-darwin-x86_64.tar.gz cd elasticsearch-8.5.3/ ./bin/elasticsearch (lookup for token valid in 30min)
- (another session 1)
```bash
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-8.5.3-darwin-x86_64.tar.gz
tar -xzf kibana-8.5.3-darwin-x86_64.tar.gz
cd kibana-8.5.3/
./bin/kibana
goto http://localhost:5601
fillin token from session 0
check 6digit passwd from session 1
fillin 6digits passwd
enter ...
UN=elastic;PW=LByolFhjH389L0xaRqep(from session 0)
[!WARNING] content
新增ES分析插件Lucene_IK
- issue: ElasticSearch 使用term搜索中文失败、番外篇-透過 ElasticSearch實作全文檢索 -4
- solution:分開找「a馬」「a雲」
- 因應ik官網 7版中只存有7.17.7版、必須將ES升級到7.17.7
- fail:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.7/elasticsearch-analysis-ik-7.17.7.zip
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.7/elasticsearch-analysis-ik-7.17.7.zip
curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.7-darwin-x86_64.tar.gz
tar xvfz elasticsearch-7.17.7-darwin-x86_64.tar.gz
mkdir -p elasticsearch-7.17.7/plugins/ik
cd elasticsearch-7.17.7/plugins/ik
unzip ../../../elasticsearch-analysis-ik-7.17.7.zip
- 重新啟動ES
killall elasticsearch
cd ~/MyPrograms/elasticsearch-7.17.7
./bin/elasticsearch
- 測試:
- 需關閉Wiki.js控制面板-搜尋引擎Elasticsearch中的Index Name (
The index name to use during creation
內設為wiki)、增加Analyser ‘ik’(內設為空格) - 2~3個字的字詞可以正確搜尋了(有些還是查不到)
- 但不能無厘頭字串如”析表”、
- 需關閉Wiki.js控制面板-搜尋引擎Elasticsearch中的Index Name (
-
https://sinotec2.github.io/FAQ/2022/10/08/about_note_sw.html “ 數位筆記系統使用心得” ↩