2017-03-21 6 views
0

특정 필드에 특정 키워드 집합 keyword1, keyword2 또는을 검색하려고합니다. 나는Solr qf : parameter를 사용하여 특정 필드를 쿼리하십시오.

http://localhost:8983/solr/gettingstarted_shard2_replica2/browse?q=keyword1 키워드 쿼리를 사용하여하고 있어요 2 키워드 3 & QF = 필드 1

그러나

, 나는 이것이 또 다른 필드 field2keyword2를 발견하고 그 행을 반환 실행할 때 잘! 알다시피, qf:field1 매개 변수는 field1에있는 모든 키워드의 검색을 제한합니다.

어디서 잘못 되었나요? 내가 정의한 스키마 때문인가요?

내 스키마 설정은 다음과 같습니다

<field name="field1" type="text_general" indexed="true"/> 
<field name="field2" type="strings" indexed="false"/> 
+0

'solrconfig.xml'을 보셨습니까? 쿼리 처리기가'qf' 매개 변수에 대한 재정의로 구성되었을 수도 있습니다. – freedev

+0

기본 파서를 변경하십시오. URL에'defType = dismax'를 추가하십시오. – vinod

답변

0

면책 조항 : 나는 Solr Query Debugger 구글 크롬 플러그인의 저자입니다.

이 디버거를 사용하여 실행중인 항목을 확인하고 쿼리에 이상한 동작이 나타나는 이유를 설명하는 것이 좋습니다.

브라우저에서 solr 쿼리를 실행 한 다음 Solr Query Debugger 플러그인을 시작하기 만하면됩니다.

플러그인 페이지에는 DebugEcho 탭이 표시되어 Solr에 의해 실행 된 내용을 볼 수 있습니다. Explain 탭에는 점수 설명이 트리 구조로 표시됩니다.

+0

나는 그것을 줄 것이다! 불행하게도 저는 파이어 폭스 만 지원하는 VM을 사용하고 있습니다. –

0

표준 (기본) 쿼리 구문 분석기 또는 eDisMax 쿼리 구문 분석기를 사용하고 있습니까? 표준 (가장 가능성 있음) 인 경우 df 매개 변수를 사용해야합니다.

QF 매개 변수는 eDisMax와 함께 사용됩니다,하지만 당신은 또한 DEFTYPE = edismax

의 디버그 플래그가 검색이 실제로 발행되는 필드에 대한 방법을 보여줍니다 있어야합니다.