2011-07-27 2 views
0

나는 solr에 product_code와 title이라는 두 개의 인덱스가있는 설정을 가지고있다. product_code는 StrField를 사용하고 title은 DoubleMetaphone에서 TextField를 사용합니다.Solr 색인을 순서대로 질의하여 일치 항목을 찾을 때 중단 하시겠습니까?

사용자가 제목 검색을 위해 제품 코드 또는 자유 텍스트를 입력 할 수있는 단일 검색 상자가 있습니다. 저는 현재 dismax를 사용하고 qf = product_code title을하고 있습니다. 문제는 DoubleMetaphone이 적용되면 제품 코드 (예 : LC12345)가 제목의 단어와 일치 할 수 있다는 것입니다.

는 그래서 내가하고 싶은 것은 처음가 product_code를 인덱스에 쿼리 용어를 적용하고 일치되는 제목 인덱스에 쿼리 용어를 적용 한 후이없는 경우에만 같은 방법으로 쿼리를 만들 수 있습니다. Solr에 대해 두 가지 별도의 쿼리를 수행하지 않고도이 작업을 수행 할 수 있습니까? 이것은 AJAX의 '라이브 검색'을위한 것입니다. 그래서 최소한의 대기 시간을 유지하여 Solr에 두 가지 별도의 쿼리를 수행하고 싶지는 않습니다.

- 매트

답변

0

답변은 ist - no입니다. 내가 바로 너에게 필요한 것이 필요하다. q = 대답 X = X이면 Y = Y. Solr에는 그러한 기능이 없습니다. 비록 solr이 인덱스를 두 번 쿼리하는 것이 필요할지라도 두 번의 쿼리를 사용하는 것과 같을 것이다.

하나의 쿼리 (실제로 nessecary 인 경우)를 사용하여 응용 프로그램을 개선하기 위해 수행해야 할 작업은 쿼리 부스터를 사용하는 것입니다. 쿼리^5 제목^1

당신의 solrconfig에 인덱스 데이터 : 당신은

product_code를 같은 것을 설정합니다. 그러면 product_code 결과가 상단에 표시되고 제목은 하단에 표시됩니다. product_code가없는 경우 제목 결과 만 표시됩니다.

도움이 되었으면 좋겠다.

관련 문제