2010-04-21 2 views

답변

15

감사드립니다.

인덱싱 분석기의 구성에 StopFilterFactory가 포함되어 있으면 불용어는 단순히 인덱싱되지 않으므로 나중에 쿼리 할 수 ​​없습니다. 그러나 Solr은 색인에서 용어의 위치를 ​​유지하므로 원래 다른 용어가 있다는 사실을 반영하여 나머지 용어의 위치 값을 증가 시키도록 지시 할 수 있습니다. 예상대로

가 쿼리 분석기 같은 설정으로 구성된 StopFilterFactory있다
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> 

경우 쿼리가 작동합니다 :

여기에 "enablePositionIncrements은"그것을 달성하는 열쇠입니다. 나는 또한 당신의 fieldType 선언에 적절한 장소에 넣어 비슷한 결과를 달성하기 위해 CommonGramsFilterFactory를 사용하여 행운 했어 http://www.lucidimagination.com/search/document/CDRG_ch05_5.6.18

+0

고마워요. 내가 필요로하는 것이 있습니다. – Ruth

+0

enablePositionIncrements 속성의 정확한 정의를 찾기가 너무 어렵습니다. 고마워 친구! – BFree

2

:

은 자세한 내용은이 링크를 참조하십시오.

<filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/> 
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 

StopFilterFactory에서 enablePositionIncrements = "true"를 사용하는 것이 얼마나 잘 작동하는지 잘 모르겠습니다. 또한 이것을 사용하려면 solr 1.4를 실행해야합니다.

+0

고맙습니다. 알아두면 유용합니다. – Ruth

관련 문제