solr 중국어 분사 filedType 정의

4421 단어 Solr
하나.  solr.TextField는 사용자가 분석기를 통해 색인과 조회의fieldType을 맞춤형으로 설정할 수 있도록 합니다.
분석기는 하나의 분사기 (tokenizer) 와 여러 개의 필터 (filter) 를 포함한다.
코드 데모:
 
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class = "org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false" /> 
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="stopwords.txt"
                enablePositionIncrements="true"
                />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class = "org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="stopwords.txt"
                enablePositionIncrements="true"
                />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
      </analyzer>
    </fieldType>
 
둘.Solr에서 색인을 만들고 키워드를 검색하려면 문자열을 구분해야 합니다.
Solr는 전체 텍스트 검색 형식의 인덱스를 색인 라이브러리에 추가할 때 먼저 빈칸으로 단어를 나눈 다음에 단어 결과를 지정한 필터로 필터하고 나머지 결과는 색인 라이브러리에 추가합니다.
분사 순서는 다음과 같습니다.
 
인덱스
1: 스페이스 바 whitespaceTokenize
2: 필터 단어 StopFilter
3: WordDelimiterFilter 철자
4: 소문자 필터 LowerCaseFilter
5: EnglishPorterFilter
6: 중복어 제거 Remove DuplicatesTokenFilter
조회
1: 유사어 조회
2: 필터 단어
3: 철자
4: 소문자 필터
5:영어 유사어
6: 중복어 제거
이상은 영어를 겨냥한 것으로 중국어는 빈칸을 제외하고는 모두 유사하다.그러나 어떤 모습인지는 대응하는 필드 타입의 설정을 봐야 한다.
 
여1.의 구성
색인:
1. IK분사
2. 단어 필터링 비활성화
3. 철자
4.소문자 필터
5. 서로 다른 언어의 어간 처리
 
질의:
1. IK분사
2.동의어
3. 정지사
4. 철자
5.소문자 필터
6. 서로 다른 언어의 어간 처리
 
 
셋.상용 분사기와 필터 소개
분사기:
      1.   < tokenizer class =" solr.WhitespaceTokenizerFactory " />
스페이스 바 분사기
      2.   
IK 분사기
 
필터
      1.    
단어와 일치할 때'-'연결 문자, 알파벳 숫자의 경계, 비알파벳 숫자 문자를 고려하면'와이파이'나'와이파이'가 모두'와이파이'와 일치할 수 있다.
 
      2.   
동의어, 동의어의 구축은 반드시 http://ip:8983/solr/admin/analysis.jsp 페이지의 분사 효과를 참고해야 한다.
 
     3.    
비활성화 단어 (stopword) 삭제 후, 짧은 단어 사이의 간격을 늘립니다
stopword: 색인을 만드는 과정에서 (색인을 만들고 검색하는 것) 무시되는 단어, 예를 들어 is this 등 상용어입니다.
conf/stopwords.txt 유지보수.
 
     4. 추가 참조http://damoqingquan.iteye.com/blog/231293
 
 

좋은 웹페이지 즐겨찾기