2017-12-20 7 views
0

특정 필드에 대해 OR 쿼리를 만들 수 있습니까? 예를 들어, (main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))을 할 수 있습니까?일반 쿼리의 특정 필드에서 "OR"을 사용하여 원하는 결과를 얻을 수 없습니다. Solr이 특정 필드에서 OR 쿼리를 수행 할 수 있습니까?

나는 우리의 버전 (5.5)에 대한 documentation을 읽은 그들은 같은 특정 필드없이 예를 를 사용

"jakarta apache" jakarta 

또는

"jakarta apache" OR jakarta 

NOTE : 필트를 사용하여 의도 한 결과를 얻을 수 있습니다. r- 쿼리를 사용하지만, 내 목표는 일반적인 쿼리를 사용하여 동일한 결과를 얻는 것입니다. 작동하는 fq는 main_ref_number_tesim:(1920.1* 1920.2*)입니다.


EDIT1 : 작동해야하지만 작동하지 않습니다 내가 시도 정규 쿼리는 다음과 같습니다

  1. (main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))
  2. main_ref_number_tesim:(1920.1* OR 1920.2*)
  3. main_ref_number_tesim:(1920.1* 1920.2*)
+0

예, 정상적으로 작동합니다. 'main_ref_number_tesim : (1920.1 * OR 1920.2 *)'도 작동해야합니다. 그게 효과가없는 시도는 무엇입니까? – MatsLindh

+0

@MatsLindh 맞습니까? EDIT1에서 이미 시도한 쿼리를 추가하여 도움이되기를 바랍니다. – RudyOnRails

+0

글쎄, 그것은 또한 필드의 타입에 달려 있습니다. - 만약 당신이 토큰 화기를'.' (표준 토큰 화기처럼, iirc처럼)로 분리한다면, 와일드 카드 검색을 할 때 _any_ match를 얻지 못할 것입니다. 필터 쿼리가 작동합니다. 필터 쿼리와 일반 쿼리는 동일하지만 'q'가 처리되는 방식이 다른 쿼리 파서를 사용하고있을 수 있습니다. – MatsLindh

답변

0

예, 특정 필드에 대해 OR을 만들 수 있습니다.

위의 코드와 마찬가지로 키워드 목록을 전달하면 키워드에 solr이 적용됩니다.

희망이 있으면 문제가 해결 될 것입니다.

+1

이 답변은 스프링 데이터 solr에 대해 말하는 것 같지만 일반적으로 스프링 데이터가 아닌 solr에 대한 질문이 아닙니까? – Persimmonium

+0

이 답변의 해석 방법을 모릅니다. @ Persimmonium의 주석에 기초한 "봄 데이터 해석"이라고 가정합니다. 예, https://projects.spring.io/spring-data-solr/를 봤습니다. 그것은 일종의 DSL이나 프로그래밍 언어가 solr API와 상호 작용할 수 있습니까? – RudyOnRails

관련 문제