2014-05-12 2 views
0

Nutch와 Solr을 사용하여 실행되는 의학 용어에 대한 검색 엔진을 가지고 있으며 PHP 프론트 엔드를 사용합니다. 검색 결과와 함께 미리 정의 된 용어의 수천에 대한 태깅 수를 보여 주며, 태깅 결과는 모든 용어를 solr 패싯 쿼리를 통해 solr로 전달하여 검색됩니다.Solr Facet 질의 결과 캐싱

이러한 모든 용어를 매번 쿼리를 통과시키지 않고 solr에 추가 한 다음 검색 결과의 각 항목에 대한 패싯 개수를 얻는 방법. 면 수를 검색하기위한 내 쿼리의 일부가 아래와 같습니다 :

FL = 내용, URL &면 = 사실 & facet.field = 호스트 & facet.zeros = 거짓 & facet.query = 내용 : 화이자 & facet.query = 함량 테바 = & facet.query 함량 제넨텍 facet.query = & 함량 원장 = & facet.query 함량 변비 facet.query = & 함량 변비에 걸리게하다 & facet.query = 함유량 : = & facet.query 콘텐츠 변비 : 변비 & facet.query = 내용 : 변비 & facet.query = 내용 : 설사 & facet.query = 콘텐츠 우울증 = & facet.query 함량 함몰 facet.query = & 함량 우울 facet.query = & 함량 슬픈 facet.query = & 함량 : 생리통 = & facet.query 함량 & 패싯 기침 .query = 내용 : Xyrem & facet.query = 내용 : Abilify & facet.query = 내용 : 메트포르민 & facet.query = 내용 : 사전에 아바스틴 '

감사합니다.

답변

0

여기에서 수행 할 수있는 대부분의 작업은 쿼리를 다음과 같이 줄이는 것입니다. 분야에 따라, 모든 값에 대한 측면이 반환 될 위치를

... 
facet.query = content: [OR Pfizer Teva Genentech Abbot ... Avastin] 
... 

은 또는, 당신은 "facet.method = 열거"사용할 수 있습니다.

Solr에서 키 또는 태그를 사용하여 캐시에 "쿼리 변수"자체를 저장할 수있는 다른 방법이 없습니다. 그럼에도 불구하고 Solr은 "태그", "이전"및 "키"라는 LocalParams를 가졌지 만 이후의 요구 사항에는 맞지 않습니다.

참고 :

  1. http://solr.pl/en/2010/12/06/faceting-eliminowanie-filtrow-i-jak-z-tego-skorzystac/
  2. http://wiki.apache.org/solr/SimpleFacetParameters
  3. http://wiki.apache.org/solr/SolrFacetingOverview