2012-09-11 2 views
1

나는 solr을 사용하여 질의하기 위해 보관 된 웹 사이트의 색인을 생성했습니다. 고유 키로 사이트의 URL을 사용합니다. 내가 뭘하고 싶은 필터 쿼리에서 특정 도메인으로 검색을 제한하기 위해 URL 필드를 사용하는 것입니다. 예를 들어 "Barack Obama"를 쿼리하고 싶지만 그 결과를 "whitehouse.gov"도메인으로 제한하십시오. 나에게 꽤 기본적인 사용 사례처럼 들리지만, URL 필드를 검색해도 전혀 결과가 반환되지 않습니다. 여기 내 설정 (의 schema.xml)입니다 :색인 및 질의 고유 키 URL Solr

. 
. 
. 
<field name="collection" type="string" indexed="true" stored="true"/> 
<field name="content" type="text_de" indexed="true" stored="true" multiValued="true"/> 
<field name="date" type="string" indexed="true" stored="true"/> 
<field name="digest" type="string" indexed="true" stored="true"/> 
<field name="length" type="string" indexed="true" stored="true"/> 
<field name="segment" type="string" indexed="true" stored="true"/> 
<field name="site" type="string" indexed="true" stored="true"/> 
<field name="title" type="text_de" indexed="true" stored="true" multiValued="true"/> 
<field name="type" type="string" indexed="true" stored="true"/> 
<field name="url" type="text_en_splitting" indexed="true" stored="true"/> 
. 
. 
. 

<!-- Field to use to determine and enforce document uniqueness. 
    Unless this field is marked with required="false", it will be a required field 
--> 
<uniqueKey>url</uniqueKey> 

그리고 여기 (간체) 내 쿼리입니다 : 내 쿼리와 일치해야,

http://mysolrserver.com:8983/solr/select/?q=content:Barack+Obama&fq=url:whitehouse.gov 

쿼리 분석기는 저에게 말한다 :

screenshot solr analysis

왜 이것이 작동하지 않는 사람이 있습니까? 나는 나가 얻을 수있는 어떤 힌트든지 높게 평가한다! 고마워요!

답변

2

fq=url:whitehouse.gov 필터링이 작동해야합니다.

그러나 질문이있는 q=content:Barack+Obama이 표시됩니다.
기본 검색 필드는 무엇입니까 ??
쿼리 구성 요소를 제거하고 q=*:*을 사용하면 결과가 반환됩니다. ??

q=content:Barack+Obama 쿼리는 실제로 어떤 결과를 초래하지 않을 오바마가없는 것입니다 기본 검색 필드로 content:barack defaultsearchfield:obama
같은 쿼리로 될 것입니다.

+0

감사합니다. 문제가 해결되었지만 URL 필드의 쿼리 동작이 분석기에서 보는 것과 일치하지 않습니다 (첨부 된 이미지 참조). 와일드 카드 검색을 사용할 때만 결과를 얻을 수 있습니다 : fq = url : * whitehouse.gov *. 이것은 꽤 잘 작동하지만 나에게 잘 맞습니다. 이제 검색 결과를 여러 URL로 제한하는 방법을 알아 내려고합니다. q = Barack + Obama + url : (* whitehouse.gov * % 20OR % 20 * foxnews.com *). 내가 얻은 결과는 단지 q = Barack + Obama와는 다르다. 그러나 결과는 원하는 하위 집합뿐만 아니라 다른 여러 사이트의 결과도 포함한다 ... – user871784

+0

당신은 fq = url을 시도 할 수있다 : (whitehouse.gov OR foxnews .com) – Jayendra

+0

고마워, 그거야! – user871784