저는 Solr에서 매우 새로 왔지만 PatternReplaceCharFilterFactory를 사용하여 저장할 전화 번호 문자열에 대한 사전 처리 작업을 수행하려고합니다. . 내가 (예 : 555.444.1234, (555) 444-1234, 5554441234, 4441234, 444-1234로 기대 내가 정규식을 테스트 한Solr PatternReplaceCharFilterFactory가 지정된 패턴으로 바뀌지 않습니다.
<fieldType name="phone_number" class="solr.TextField" >
<analyzer>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="\(?(\d{3})?\)?[-. ]?(\d{3})[-. ]?(\d{4})"
replaceWith="$1-$2-$3"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>
</fieldType>
그것은 모든 일치 다음은 필드의 구성은 , 등).
이제 정규식은 전달 된 내용과 일치해야하며 지정된 패턴으로 바꿔야합니다. 그래서 그들이 555.123.4444를 통과하면 555-123-4444가 StandardTokenizerFactory로 전달 될 것으로 예상됩니다. 거기에서 토큰 555,123,4444로 분류됩니다.
내가 얼마나 많은 시간을 보냈는지 확신 할 수없는 작은 구성 문제가 있지만 사용 가능한 문서 (내가 본 것)에서 그게 뭔지 전혀 모른다는 것을 확신합니다.
미리 감사드립니다. OK
어쩌면 다른 사용자에게 더 유용하도록 질문에 일부 세부 정보를 추가 (편집) 할 수 있습니다. 대답을 자동 응답 할 수도 있습니다. – javanna
@ javanna, 실제로 2 일 동안 내 대답을 자동 수락하지 않겠습니다. 편집하거나 대답하고 싶었는지 확실하지 않았습니다. 대답에 정착, 대기 기간이 끝나면 받아 들일 것입니다 – Jared
위대한, 감사합니다! – javanna