검색 기능 구성: 두 판 사이의 차이
새 문서: == 개요 == 한글 검색을 제대로 사용하기 위해 필요한 검색 관련 확장 기능 및 구성 방법을 정리한다. 기본 DB 검색으로는 한글 형태소 검색에 한계가 있으므로, OpenSearch + CirrusSearch 조합을 사용한다. = 설치 = {| class="wikitable" !기능명 !역할 !설치방법 |- |java |아래 이어지는 것들을 위해. |보통 자바 설치 안되어있으니 설치 진행. {| class="wikitable" |+작업 !과정 !설치방법... |
|||
| 54번째 줄: | 54번째 줄: | ||
discovery.type: single-node | discovery.type: single-node | ||
plugins.security.disabled: true</syntaxhighlight> | plugins.security.disabled: true | ||
path.data: /usr/share/opensearch/data # 요거 없어서 에러가 나는 경우가 상당히;; 이 설정들 괜찮은지 AI 점검 후 진행하자.</syntaxhighlight> | |||
* sudo systemctl daemon-reload | * sudo systemctl daemon-reload | ||
| 83번째 줄: | 84번째 줄: | ||
|- | |- | ||
|[[mediawikiwiki:Special:ExtensionDistributor/Elastica|링크]]에서 다운 후, extension 폴더에 옮긴 긴다. | |[[mediawikiwiki:Special:ExtensionDistributor/Elastica|링크]]에서 다운 후, extension 폴더에 옮긴 긴다. | ||
|버전은 수정해서 기입. | |mediawiki 디렉토리에서 진행. | ||
버전은 수정해서 기입. | |||
git clone -b REL1_45 "<nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch</nowiki>" extensions/CirrusSearch | git clone -b REL1_45 "<nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch</nowiki>" extensions/CirrusSearch | ||
|- | |- | ||
| 89번째 줄: | 91번째 줄: | ||
| | | | ||
* cd extensions/CirrusSearch | * cd extensions/CirrusSearch | ||
* sudo apt install composer | |||
* composer install --no-dev | * composer install --no-dev | ||
학교망에선 인증서 문제가 지속적으로 발생하는데.. 해결하기 어렵다. 인증서 무시를 명시해준다. | 학교망에선 인증서 문제가 지속적으로 발생하는데.. 해결하기 어렵다. 인증서 무시를 명시해준다. | ||
* composer config --global disable-tls false | * composer config --global disable-tls false # 위에서 문제가 생기면. | ||
* ### 엘라스티카 설치. | |||
* cd /var/www/mediawiki/extensions | |||
* sudo git clone -b REL1_45 <nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/Elastica</nowiki> # 버전에 유의 | |||
* cd /var/www/mediawiki/extensions/Elastica | |||
* sudo composer install --no-dev | |||
* | |||
|- | |- | ||
|LocalSettings에 반영. | |LocalSettings에 반영. | ||
| 103번째 줄: | 112번째 줄: | ||
|- | |- | ||
|php 실행 | |php 실행 | ||
|/extensions/CirrusSearch | | | ||
php maintenance/UpdateSearchIndexConfig.php | * cd /var/www/mediawiki/extensions/CirrusSearch | ||
* php maintenance/UpdateSearchIndexConfig.php | |||
|- | |- | ||
|php 실행(인덱스 만들기) | |php 실행(인덱스 만들기) | ||
2025년 12월 23일 (화) 04:11 판
개요
한글 검색을 제대로 사용하기 위해 필요한 검색 관련 확장 기능 및 구성 방법을 정리한다.
기본 DB 검색으로는 한글 형태소 검색에 한계가 있으므로,
OpenSearch + CirrusSearch 조합을 사용한다.
설치
| 기능명 | 역할 | 설치방법 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| java | 아래 이어지는 것들을 위해. | 보통 자바 설치 안되어있으니 설치 진행.
| ||||||||||||||||
| OpenSearch | CirrusSearch가 사용하는 검색 엔진.
서버용이라, 램이 최소 4G는 되어야 함;;; |
설정
cluster.name: mediawiki-search
node.name: node-1
network.host: 127.0.0.1
http.port: 9200
discovery.type: single-node
plugins.security.disabled: true
path.data: /usr/share/opensearch/data # 요거 없어서 에러가 나는 경우가 상당히;; 이 설정들 괜찮은지 AI 점검 후 진행하자.
$wgCirrusSearchServers = [ 'http://localhost:9200' ]; | ||||||||||||||||
| CirrusSearch | OpenSearch(구 Elasticsearch)를 위키에서 제어하기 위한 확장기능.
검색창에서 실제로 작동. |
링크를 참고하여 구성하였다.
https://www.mediawiki.org/wiki/Extension:CirrusSearch 복잡하니.. 명령 후에 떠오르는 메시지를 찬찬히 보며 잘 따라가길. 일반 검색규약을 따르는듯. Help페이지가 따로 있다.
나중에 DB를 바꾼다든가, Elasticsearch를 업데이트 할 땐 $wgDisableSearchUpdate = true; 를 넣어주는 것부터 다시 진행하면 됨. |