2011-04-25 5 views
1

Solr에서 여러 필드를 검색하고 싶습니다. (복사 필드의 개념을 알고 있고 (e) dismax 검색 처리기를 알고 있습니다.)Solr : 여러 필드에서 검색하지만 일치하는 문서가 발견되면 STOP합니다.

따라서 필드의 목록을 정렬 했으므로 용어를 검색해야합니다. 1.) SKU 2.) 이름 3.) 설명 4.) 요약 등등.

이제 쿼리가 용어와 일치 할 때 SKU 필드에서이 일치를 원하며 이후 필드에서 더 이상 검색하지 말라고합시다.

첫 번째 필드 (SKU 필드)에 일치 항목이 전혀없는 경우에만 두 번째 필드 (이 경우 "이름") 등을 사용해야합니다.

Solr에서도 가능합니까? 내 자신의 Lucene 검색 핸들러를 구현해야합니까?

어떤 조언을 환영합니다!

내가 귀하의 경우는 4 개 가지 검색을 실행이 필요합니다 생각 베른

답변

2

을 주셔서 감사합니다. 자신 만의 SearchHandler를 구현하면 4 가지 요청에 대한 검색 결과 누적의 페널티를 피할 수 있습니다. 즉, 하나의 쿼리를 보내고 사용자 정의 SearchHandler는 4 회의 검색을 실행하고 하나의 결과 세트를 준비합니다.

+0

+1 동의합니다 ......... –

+0

고맙습니다. 나는이 접근법을 시도 할 것이다. 소스를 파고 코딩을하면 새로운 질문이 나타납니다. 이것을 LuceneSearchHandler 또는 Solr Java 클래스 위에 구현해야합니까? 장점/단점은 무엇입니까? 고맙습니다! – schube

+0

Solr을 이미 사용하고 있다면 Solr API를 기반으로하는 건물이 더 쉽고 덜 침략적이어야합니다. 그런 다음 나머지 Solr 구성과 함께 사용자 정의 검색 핸들러의 추가 맞춤 설정을 구성 할 수 있습니다. – jarekrozanski

0

제 생각에 맞으면 필드의 순서에 따라 결과의 순위를 매기고 싶습니다. (쿼리)^4 이름 : (쿼리)^3 또는 설명 : (쿼리)^2 또는 요약 : (쿼리)

당신은

Q = SKU와 같은 표준 쿼리를 사용할 수 있도록 다음 경우

이것은 필드의 순서에 따라 결과의 순위를 매 깁니다.

희망이 도움이됩니다.

+0

나는이 아이디어가 마음에 들지만 OP의 모든 요구 사항을 충족시키지 못한다. –

관련 문제