티스토리 뷰
url : http://lucene.apache.org/solr/
(archive : http://archive.apache.org/dist/lucene/solr/)
5.2 버전을 다운로드 한다.(http://archive.apache.org/dist/lucene/solr/)
압축 해제. (경로 : c:/work/)
cmd 로 해당 디렉토리로 간다.
cd /work/solr-5.2.0/bin
> solr start
결과
url로 접속 해보면 solr admin이 나온다.
코어 생성 (CORE_NAME: jinyc)
C:\work\solr-5.2.0\bin>solr create -c [CORE_NAME]
서버 재시작
solr restart -p 8983
한글 한글인덱싱이 되도록 형태소 분석기 추가.
네이버 카페에서 arirang-analyzer-5.0+를 다운로드 받는다.
url : http://cafe.naver.com/korlucene
C:\work\solr-5.2.0\server\solr-webapp\webapp\WEB-INF/lib
경로에 아래 파일 복사
arirang.lucene-analyzer-5.0-1.0.0.jar
arirang-morph-1.0.0.jar
managed-schema 수정.
경로 : C:\work\solr-5.2.0\server\solr\[CORE_NAME]\conf\managed-schema
</schema> 바로 위에 붙여넣는다.
<!-- Korean -->
<dynamicField name="*_txt_ko" type="text_ko" indexed="true" stored="true"/>
<fieldType name="text_ko" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ko.KoreanTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ClassicFilterFactory"/>
<filter class="org.apache.lucene.analysis.ko.KoreanFilterFactory" hasOrigin="true" hasCNoun="true" bigrammable="false"/>
<filter class="org.apache.lucene.analysis.ko.HanjaMappingFilterFactory"/>
<filter class="org.apache.lucene.analysis.ko.PunctuationDelimitFilterFactory"/>
<filter class="solr.StopFilterFactory" words="lang/stopwords_ko.txt" ignoreCase="true"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ko.KoreanTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ClassicFilterFactory"/>
<filter class="org.apache.lucene.analysis.ko.KoreanFilterFactory" hasOrigin="true" hasCNoun="true" bigrammable="true"/>
<filter class="org.apache.lucene.analysis.ko.WordSegmentFilterFactory" hasOrijin="true"/>
<filter class="org.apache.lucene.analysis.ko.HanjaMappingFilterFactory"/>
<filter class="org.apache.lucene.analysis.ko.PunctuationDelimitFilterFactory"/>
<filter class="solr.StopFilterFactory" words="lang/stopwords_ko.txt" ignoreCase="true"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
</analyzer>
</fieldType>
<field name="siteName" type="text_ko" multiValued="true" indexed="true" required="true" stored="true"/>
<field name="url" type="text_ko" multiValued="true" indexed="true" required="true" stored="true"/>
<field name="subject" type="text_ko" multiValued="true" indexed="true" required="true" stored="true"/>
<field name="regDt" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="contents" type="text_ko" multiValued="true" indexed="true" required="true" stored="true"/>
불용어 파일을 추가한다.
경로 : C:\work\solr-5.2.0\server\solr\[CORE_NAME]\conf\lang\stopwords_ko.txt
구글에 stopwords_ko.txt로 검색.
solr 재시작
> solr restart -p 8983
mysql 연동, data import
경로 C:\work\solr-5.2.0\dist\ 의
solr-dataimporthandler-5.2.0.jar
solr-dataimporthandler-extras-5.2.0.jar
파일을 C:\work\solr-5.2.0\server\solr-webapp\webapp\WEB-INF\lib\ 에 복사
mysql 커넥터 라이브러리를 준비
mysql-connector-java-5.1.37-bin.jar 를 사용
url : http://dev.mysql.com/downloads/connector/j/
C:\work\solr-5.2.0\server\solr-webapp\webapp\WEB-INF\lib\ 에 복사
solrconfig.xml 수정
경로 C:\work\solr-5.2.0\server\solr\[CORE_NAME]\conf\solrconfig.xml
<!-- Highlighting Component
위에 추가
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
DB관련 정보 파일 생성(DATABASE_NAME: jinycSearch, TABLE_NAME: solr_data)
경로 C:\work\solr-5.2.0\server\solr\[CORE_NAME]\conf\db-data-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306//[DATABASE_NAME]?zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8&characterSetResults=UTF-8&useEncoding=true&emulateLocators=true"
user="USER_ID"
password="USER_PASSWORD" />
<document>
<entity name="document" query="SELECT id, sitename, url, subject, SUBSTRING(IFNULL(regdt, '2010-01-01'), 1, 10) AS regdt , contents FROM [TABLE_NAME] ">
<field column="id" name="id"/>
<field column="sitename" name="sitename"/>
<field column="url" name="url"/>
<field column="subject" name="subject"/>
<field column="regdt" name="regdt"/>
<field column="contents" name="contents"/>
</entity>
</document>
</dataConfig>
solr 재시작
> solr restart -p 8983
이제 solr_data테이블에 데이터를 쌓고.
CREATE TABLE `solr_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sitename` varchar(20) DEFAULT NULL,
`url` varchar(500) DEFAULT NULL,
`subject` text,
`regdt` varchar(20) DEFAULT NULL,
`contents` longtext,
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4781 DEFAULT CHARSET=utf8;
색인 작업은
http://localhost:8983/solr/[CORE_NAME]/dataimport?command=full-import
으로 실행시킨다.
command 는아래와 같다.
full-import : insert
delta-import : update
reload-config : 설정 파일을 리로딩합니다.
abort : 인덱싱 작업을 중단
import 작업이 안되면?
solr stop -p 8983
solr start
로 재시작 해봅시다.
- Total
- Today
- Yesterday
- mysql
- eGovFramework
- 시즌패스
- 단축키
- 오토핫키
- 로블록스
- 호이안
- 설치
- nginx
- lineage2m
- java
- 구글 플레이 게임즈
- 라즈베리파이
- autohotkey
- 설정
- 배드워즈
- 다운로드
- Spring
- mariaDB
- 블루스택
- 수원
- 윈도우
- 전자정부프레임워크
- 메소드 제한
- Spring Boot
- tomcat
- 시즌3
- 달빛조각사
- 베트남
- download
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |