2011-08-08 8 views
2

Solr에서 필터 쿼리 (fq =)에 나타나는 필드를 늘릴 수 있습니까? Solr 필터 쿼리 및 부스트

나는 이런 태그 필터 쿼리 뭔가가있는 측면 쿼리가 있습니다

...&q=*:*&fq={!tag:X}brand:(+"4911")+OR+body:(abc)&facet.field={!ex:X}brand&.. 

(I 브랜드에 패싯과 패싯은 X 태그 필터 쿼리를 무시하도록 설정되어, 그래서 나는를 사용할 필요가 필터 쿼리)

필자는 필터 검색어에서 본문 필드의 일치 항목보다 높은 브랜드 입력란 점수를 매치하고 싶습니다.

필드 브랜드 및 본문은 다중 값입니다.

bf =/bq = arguments를 추가하려고 시도했는데 필터 쿼리를 기본 'q ='쿼리로 변경하면 브랜드 일치도를 높게 설정할 수 있지만 가능하지 않습니다. 필터 쿼리의 점수에 영향을줍니다. 나는 내가 잘못 생각한 것 같아 ..

고마워.

+0

여기에 : [링크] (http://search.lucidimagination.com/search/document/77a17b1bad16acd8/boost_the_results_for_filter_value_in_a_single_query)는 내가 Yonik Seeley가 제안한 것처럼하려고하지만, 저에게는 효과적이지 않습니다. –

+0

fq 점수가 결과의 순서에 영향을 줄 수있는 방법을 찾을 수 없습니다. 정렬 쿼리를 사용하여 원하는 결과를 얻을 수있었습니다. 나는 '& qq = brand : (4911) & sort = sum (query ($ qq), ord (score)) + desc'와 같은 것을 추가하지만 성능에 영향을 미칠 수 있다고 생각합니다. –

답변

6

Solr "fq"의 점수에는 영향을 미치지 않습니다 - the wiki을 참조하십시오. 따라서 실제로 추가하려는 "q"에 쿼리를 추가해야합니다. 필요하다면, "q"와 "fq"둘 다에서 항상 쿼리 제한을 복제 할 수 있습니다. "fq"는 결과 집합에 대한 제한으로 만 작용하기 때문입니다.

+0

답해 주셔서 감사합니다. 실제로 필터 쿼리는 점수에 영향을 미치지 않습니다. 처음에는 필터 쿼리를 알지 못했습니다. dismax 파서의 'bq'부스트 쿼리 param으로 가능한지 궁금합니다. 내 마지막 해결책은 두 가지 요청을 사용하는 것이 었습니다. 하나는 패싯 용이고 다른 하나는 정렬 된 결과 용입니다. –