2017-10-11 1 views
0

이 solr 쿼리의 큰 따옴표가 무엇인지 알 수 없습니다.Solr의 큰 따옴표 쿼리

쿼리는 q=%2B"My+helper+product"+My+helper+product입니다. 그것의 edismax 쿼리

% 2b는 "+"기호의 경우이고, 다른 하나 + 기호는 사실 때문에이 자사의 URI 요청에 공백위한 것입니다,하지만 난 unserstanndwhat이의 따옴표입니다 해달라고하고, 복사.

나는 solr에 처음 왔으며 처음에는 아주 압도적이었다. 제발 좀 도와 주실 래요?

답변

2

구문은 사용중인 쿼리 파서에 따라 다르지만 edismax 파서가 표준 lucene 구문을 지원합니다 (여기서 사용되는 구문). edismax 처리기는 qf이라는 매개 변수를 가지고 있는데,이 매개 변수는 Solr에게 검색해야하는 필드 (즉, 쿼리 (q)가 실행될 필드)를 알려줍니다.

query syntax for standard lucene queries explains that the + means이 용어는 이 필요하고,이 있어야합니다.

"+"또는 필수 연산자는 "+"기호 다음에 오는 용어가 단일 문서의 필드 어딘가에 존재하도록 요구합니다. 순서대로, 즉뿐 아니라 하나의 용어로 -

+jakarta lucene

따옴표 wraps a sequence of words that should be found :

는 "자카르타"를 포함해야 "루씬"쿼리를 사용하여 포함 할 수있는 문서를 검색합니다.

필드 이름 뒤에 콜론 ":"을 입력하고 찾고자하는 용어를 입력하여 필드를 검색 할 수 있습니다.

예를 들어, Lucene 색인이 title과 text의 두 필드를 포함하고 text가 기본 필드라고 가정 해 보겠습니다. 당신이 텍스트 "이런 식으로 가지 마세요"를 포함 "올바른 방법"이라는 제목의 문서를 찾으려면, 당신은 입력 할 수 있습니다

title:"The Right Way" AND text:go

다른 단어 안타 곳을가주고 있습니다 그들은 순차적이지는 않지만 첫 번째 용어가 필요하기 때문에 단어가 연속적으로 나오는 곳 밖에서 여러 번 단어를 포함하는 문서에 더 높은 점수를 부여하는 것보다 훨씬 많은 것을한다고 생각하지 않습니다. 해당 단어는 "제품"이있는 곳 또는 콘텐츠에 product helper my이있는 곳을 공격 할 것입니다.

+0

질문에 언급했듯이, 그것은 edismax 쿼리입니다. – Mysterion

+0

아, 그리워. edismax 파서는 Lucene 구문을 지원하므로 결과는 동일해야합니다. – MatsLindh

+0

고마워요. D – user2960896

2

기본적으로 Solr의 따옴표는 공백/구분 기호에서 분리되지 않는 쿼리를 만드는 데 사용됩니다.어구는 같은 큰 따옴표로 묶은 단어의 그룹이 "안녕하세요 돌리"라는 질문에서 쿼리가 말하는

, 내가 갖고 싶어입니다

: SOLR 기준에서

검색어 "내 도우미 제품"과이 구의 모든 단어를 별도로 검색하여 qf (검색어 필드 매개 변수 eDisMax 쿼리 구문 분석기).