의미 론적 검색 엔진으로 Apache Solr을 사용하고 있습니다. 어떤 사용자가 어떤 내용을 입력 할 수 있으며 단어를 사용하여 관련 결과를 사용하여 검색해야합니다.Apache Solr 토큰 화자
문자열을 토큰으로 분할하고 싶습니다.
Example: "actorsfrommumbai" -> "actors from mumbai"
어떻게하면 solr에서이 기능을 사용할 수 있습니까?
의미 론적 검색 엔진으로 Apache Solr을 사용하고 있습니다. 어떤 사용자가 어떤 내용을 입력 할 수 있으며 단어를 사용하여 관련 결과를 사용하여 검색해야합니다.Apache Solr 토큰 화자
문자열을 토큰으로 분할하고 싶습니다.
Example: "actorsfrommumbai" -> "actors from mumbai"
어떻게하면 solr에서이 기능을 사용할 수 있습니까?
당신이 섞기를 찾고있는 것처럼 보입니다 ->https://wiki.apache.org/solr/LanguageAnalysis#Decompounding 그러면 합성 단어의 일부를 검색 할 수 있습니다.
제공된 사전을 기준으로 분해하기 위해 분석기를 구성 할 수 있습니다. 분석기를 이와 같이 구성해야합니다.
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.DictionaryCompoundWordTokenFilterFactory"
dictionary="abc.txt"/>
</analyzer>
abc.txt는 사전입니다.
분석기는 쿼리 시간과 인덱스에 모두 적용됩니다.
[공백없이 두 단어로 결합 된 단어를 토큰하는 법] 가능한 복제본 (http://stackoverflow.com/questions/25153480/how-to-token-a-word-which-combined-by-two -words-without-whitespace) – MatsLindh
답장을 보내 주셔서 감사합니다하지만 이것은 solr에 데이터를로드하는 동안 필드를 입력으로 가져 오는 토큰 화입니다. ** actorsinmumbai **에서 검색 할 때 무엇을해야합니까? 어떤 사용자가 ** actorsinmumbai **를 검색 할 때 어떻게 문자열을 분할 할 수 있습니까? 이것은 쿼리 시간 필터링 –
제안 된 메서드를 _actually_ 시도 했습니까? 필터는 토큰을 단어의 각 부분에 하나씩 더 많은 토큰으로 나눕니다. 분석 체인 정의에 'index'및 'query'매개 변수를 사용하여 인덱싱 및 쿼리에 대해 여러 가지 필터 시퀀스를 제공 할 수 있습니다. – MatsLindh