0
전체 사용자 쿼리를 인덱싱 된 데이터와 비교하고 정확히 일치하는 항목 만 반환하는 기능을 원합니다. 나는 우리가 이중 따옴표 안에 질의를 할 수 있다는 것을 안다. 그러나이 유틸리티는 우리의 어플리케이션에서 널리 쓰이기 때문에 필자는 사용자가 입력 한 쿼리에 대한 구문 쿼리를 작성하는 사용자 정의 구문 분석기 구성 요소를 설계했습니다 (큰 따옴표 안에 쿼리를 제공 할 때 solr이 수행하는 방식과 동일).Solr 맞춤 구문 분석기 문제
하지만이 경우 일치하는 문서를 가져올 수 없습니다.
코드는 다음과 같습니다
public Query parse() throws ParseException {
PhraseQuery pq = new PhraseQuery();
String qf = params.get("qf",getReq().getSchema().getDefaultSearchFieldName());
String query = getString();
if(query == null){
return pq;
}
String[] queryTerms = query.split("[ ?<>,/?\\()*[email protected]#$%^&_+=|{}'`~;:\"-.]");
for(String queryTerm : queryTerms){
pq.add(new Term(qf,queryTerm.toLowerCase()));
}
return pq;
}
어떤 제안하십시오 ???
니스 솔루션! 감사합니다 – sriram
나는 똑같은했지만 내 사용자 지정 메서드를 호출하지 못했습니다 당신이 내게 왜이 호출되지 않습니다 알려주십시오 수 있습니다. 또한 동일한 질문을 요청했습니다. http://stackoverflow.com/questions/18431700/queryparserhelper-sub- classe-not-called. 한 번 봐봐. – user1047873