2009-12-15 4 views
0

나는 두 개의 필드가 있습니다모든 필드에서 여러 값을 검색 하시겠습니까?

제목 몸

을하고 난 두 단어

개 또는 고양이 그들 각각의

검색 할.

내가 시도한 q = * : 개 또는 고양이

하지만 작동하지 않습니다.

어떻게 입력해야합니까?

추신. 기본 검색 필드 = schema.xml의 모든 필드를 어딘가에 입력 할 수 있습니까?

+0

교차 게시, 이미 대답 http://mail-archives.apache.org/mod_mbox/lucene-solr-user/200912합니다. mbox/%[email protected]%3E –

답변

0

Mauricio가 말한 것처럼 copyField (http://wiki.apache.org/solr/SchemaXml#Copy_Fields 참조)를 사용하면 쿼리 문자열에 여러 필드를 지정하지 않고도 여러 필드를 검색 할 수 있습니다. 이 시나리오에서는 copyField를 정의한 다음 복사 할 필드를 설정합니다.

: 쿼리 분석기에 공백 (일반)에 분할하는 설정 인 경우

q=mysearchfield:dog OR mysearchfield:cat 

, 그이 단순화 될 수있다 :처럼 당신이 검색을 할 수 있음을 완료하면

<field name="mysearchfield" type="string" indexed="true" stored="false"/> 
... 
<copyField source="title" dest="mysearchfield"/> 
<copyField source="body" dest="mysearchfield"/> 

"mysearchfield는"표준 검색 될 것입니다 경우

q=mysearchfield:dog cat 

, 당신은 정의하여 더욱 일을 단순화 할 수 copyField 스키마의 defaultSearchField로 그 :

,
<defaultSearchField>mysearchfield</defaultSearchField> 

그 후, 쿼리는 될 것입니다 :

q=dog cat 
관련 문제