2013-01-11 5 views
0

Solr에서 LocalParams을 방금 보았습니다. 매개 변수를 지정하는 기본 방법보다 LocalParams를 사용하면 성능에 어떤 영향이 있는지 궁금합니다.Apache Solr LocalParams 성능

당신에게 내 말은,

기본 다음 URL을 고려 무엇의 예를 제공합니다

/select?q=dog&defType=dismax&qf=q_title_exact^20.0+q_title+q_suggest^0.5 

LocalParams

/select?q={!type=dismax qf='q_title q_title_exact^20 q_suggest^0.5'}dog 

크기의 차이는 사소하지만, 사실 나는 그 내 매개 변수 유형을 하나만 제한 할 수 있으므로 매우 유용합니다.

그러나 로컬 Params이므로 제대로 사용하지 않는 등 성능에 영향을 줄 수 있습니다.

답변

2

기본 방식과 비교하여 localparams를 사용하면 캐시 기능에 문제가 있다고 생각하지 않습니다. 제공된 예제는 서로 동일하게 작동합니다. 그러나 LocalParams는 다음과 같은 상황에서 장점을 제공합니다 (표준 검색을 수행하는지 아니면 일부 dismax/edismax 검색을 사용하는지에 따라 캐시에 저장된 레코드에 영향을 미칠 수 있음) : -

필드 'A'가 값 'A1'과 필드 B가 값 'B1'과 일치하는 레코드 게다가, 필드 'B'에 대한 매칭은 solr에 대한 표준 파서를 기반으로해야하는 반면, dismax 파서에 기반한 필드 'A'에 대한 매칭을 원한다. 지금까지 내가 LocalParams을 이해

, 다음 코드 (안된) : - 그것은 그러나 두 필드 A와 필드 B., 다음 코드 검색 dismax 수행 할 것이기 때문에

/select?q=A:A1&fq=B:B1&defType=dismax&qf=A^20.0+B^0.5 

이 목적을 제공하지 않을 (테스트되지 않은)는 : - 표준 검색이

그래서 필드 B. 위해 수행됩니다 반면

/select?q={!type=dismax qf='A^20.0 B^0.5}A:A1&fq=B:B1 

당신은 일을 말할 수있는, 필드 A를 통해 검색 dismax 수행 할 것 LocalParams의 "다른 유형의 검색"을 수행하는 데 도움을 줄 수 있습니다. 사용되는 params에 따라 다른 많은 장점이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 호의를 보답하기 위해 http://wiki.apache.org/solr/SolrQuerySyntax를 확인하면 defType이 기본 쿼리 (q)에만 영향을 미친다는 내용입니다. 다른 필터 쿼리 (fq)는 기본 파서를 사용합니다. – Dogoku

+0

제 잘못입니다. defType이 메인 쿼리에만 영향을주는 것은 맞습니다. 그러나, 나는 단지 예로써 그것을 주었다 (부정확하지만). 연산이 AND 연산인지 OR 연산인지를 지정하는 것과 같이 사용할 수있는 다른 localParam이 있습니다. 위에 주어진 논리는 모든 지역 매개 변수에 적용됩니다. LocalParams는 위키에 따라 쿼리 문자열과 같은 특정 인수 유형에 메타 데이터를 추가하는 방법을 제공합니다. – Max