4
쿼리에 bq를 여러 개 사용해야합니다. 요청 처리기의 구성은 다음과 같습니다.Solr의 복수 부스트 쿼리
<requestHandler name="/search" class="solr.StandardRequestHandler">
<lst name="defaults">
<str name="indent">false</str>
<str name="q">
_query_:"{!edismax qf=$qfQuery mm=$mmQuery pf=$pfQuery bq=$boostQuery bq=$bQuery v=$mainQuery}"
</str>
<str name="qfQuery">Title^10.0 Detail CategoryTrail^4.0</str>
<str name="mmQuery">1</str>
<str name="pfQuery">Title Detail</str>
<str name="boostQuery">
_query_:"{!edismax qf=$boostQueryQf mm=100% v=$mainQuery}"^100</str>
<str name="boostQueryQf">Title Detail</str>
<str name="bQuery">_query_:"{!edismax qf=$bQueryQf v=$mainQuery}"</str>
<str name="bQueryQf">CatTrail:Laptops/*^50.0 recip(ms(NOW,DateAdded),3.16e-11,1,1)^4.0 Availability:True^4.0 !ReviewCount:0^2.0</str>
</lst>
</requestHandler>
슬프게도 bq는 결과에 영향을주지 않습니다. I 은 디버그 출력에서 boost_queries
을 참조하십시오.
또한 web에서 제안한대로 boostQuery
과 bQuery
에 빈 bq를 넣으려고했습니다. 하지만 그건 효과가 없었습니다. 누구든지이 처리기를 수정하거나 원하는 결과에 대한 대안을 제공 할 수 있습니까?
미리 감사드립니다.
그냥 명확히하기 위해 - 적어도 부분적으로 적용된 debugQuery 출력의'parsedquery'에서 이러한 쿼리를 볼 수 있습니까? 아마 이미 처리 된 형태 일 것이므로 거기에서 정확히 일치하는 것을 찾지 마십시오. – rchukh
@rchukh 아니요, 부분적으로조차 아닙니다. 다음은 parsedquery의 출력입니다. (+ DisjunctionMaxQuery (((CategoryTrail : batteries CategoryTrail : batteries)^4.0) | (세부 정보 : 배터리 세부 정보 : 배터리) | (제목 : 배터리 제목 : 배터리)^10.0)))) ((+())/no_coord))/no_coord' – ThePCWizard