내 코드는 다음과 같습니다 :SolrQuery 미만 3 자
SolrQuery query = new SolrQuery();
query.setQuery(q.trim());
try {
QueryResponse res = getSolrServer().query(query);
return res.getResults();
} catch (SolrServerException sse) {
log.error(sse);
}
문제는 내가 쿼리 더 많은 다음 세 문자가있는 경우이 나에게 응답, 예를 반환한다는 것입니다 쿼리 문자열 "che"는 결과로 응답하지만 쿼리 문자열 "ch"는 응답이 없습니다. Solr Query의 3 문자 길이를 재정의 할 수있는 방법이 있습니까? 네, 프로그래밍 사전에 도움을 주셔서 감사합니다 자바
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="50" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
를 사용하여 대체 할 수있는 경우
는 문제를 일으키는 아래의 XML입니다.
감사와 안부,
하기 Vaibhav
Solr은 색인 생성 대상과 일치합니다. 아마 너는 ch를 위해서가 아니라 ch를 위해 어울릴거야. 인덱싱 대상, 인덱싱 방법에 대한 통찰력을 제공 할 수 있습니까? – Jayendra
che는 문제가되는 것입니다. 3 문자 이상 검색 할 수 있지만 3 문자 미만의 문자열은 결과에 응답하지 않습니다. – vaibhav
필드의 구성은 무엇입니까? 분석기 체인에서 LengthFilter를 사용하지 않는 한 그러한 구성이 없기 때문입니다. – Jayendra