2010-02-09 2 views
2

저는 solr의 faceting을 사용하고 있으며 필터를 사용하여 주위를 둘러 볼 수있는 문제가 발생했습니다.ToTitleCase를 solr로 사용하여 Solr에서 대문자 사용을 중지하십시오.

는 기본적으로 몇 번 마을 이름이

"CAMBRIDGE"

로 SOLR를 통해 올 것이다 언젠가는

"캠브리지"로 통해 올 것입니다

가 나는를 사용하고 싶었 Solr의 필터를 사용하여 마을 이름의 SCREAMING CAPS 버전을 중지하십시오. 모든 텍스트를 만들기위한 채소가있는 것 같습니다. lower case. 사람이 단어의 첫 번째 문자를 무시하고 문자의 나머지 부분에 소문자를 적용 할 필터를 알고있는 경우

<!-- A text field that only sorts out casing for faceting --> 
    <fieldType name="text_facet" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     </analyzer> 
     <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     </analyzer> 
    </fieldType> 

궁금 해서요. 예 : 헐

등 또는

가 자신의 필터를 작성하기 쉬운 경우시

  • CAMBRIDGE >> 캠브리지 선체시
  • 킹스턴 >> 킹스턴 .. 그렇게하는 방법에 대한 도움 나는 자바 사람이 아니야 ..

    감사합니다

답변

2

AFAIK에는 이와 같은 필터가 내장되어 있지 않습니다. 이것을 쓰고 싶다면 LowerCaseFilterFactoryLowerCaseFilter을 참조하십시오. 매우 어렵지 않습니다.

또는 클라이언트 측에서 수행 할 수 있습니다. 즉, SolrNet에서 ToTitleCase을 사용하여 실제 쿼리 이후에 필요한 변환을 수행하는 ISolrOperations 데코레이터를 작성할 수 있습니다.

+0

에게 ISolrOperations. 그러나 나는 그것이 자바를 배우는 시간이 될 것 같아요 .. C#을 알고 문법 때문에 문제가 안된다 .. 고마워요 Mauricio – CraftyFella

+1

ISolrOperations 개정판 1 :-) 이후 어쨌든 나는 최신 버전으로 업그레이 드하는 것이 좋습니다 .. –

+0

니스 (Nice) 나는 그것을 할 것이다. – CraftyFella

1

아마도 solr.PatternReplaceCharFilterFactory를 사용할 수 있습니까?

<fieldType name="textCharNorm" class="solr.TextField"> 
    <analyzer> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <charFilter class="solr.PatternReplaceCharFilterFactory" 
       pattern="([^\s]{1})([^\s]*)" replaceWith="\U$1\L$2"/> 
    </analyzer> 
</fieldType> 

공지 사항, 나는 코드 또는 solr.PatternReplaceCharFilterFactory를 테스트하지 않았습니다, 그래서 그것을 작동하는지 모르겠어요. 당신이 당신의 자신의 필터를 구축해야하는 경우이 가이드 유용 할 수 있습니다 :

http://robotlibrarian.billdueber.com/building-a-solr-text-filter-for-normalizing-data/

// 존 내가 .. 그래서 내가 볼 수 있습니다 내가 사용할 수 있는지 SolrNet의 아주 오래된 버전을 사용하고

+0

고마워. 내가 확인해 볼께. – CraftyFella

관련 문제