2016-09-20 3 views
0

검색 : 패싯 계산을위한 동시 검색 옵션은 내부적으로 (동일한 코어에서 병렬로 해석되는 많은 패싯으로) 실행되거나 (각 패싯이 단일 코어에서 해석 됨) 실행됩니다.패싯 동시 해결?

동시성 수준 옵션의 최대 한도는 무엇입니까? 이 옵션과 코어 수 사이에는 어떤 관계가 있습니까?

면이 동일한 코어에서 해석되는 경우? 동일한 프로세스 내에서 여러 스레드를 사용하여 계산되었거나 각 패싯이 다른 프로세스로 계산됩니까?

은 다른 방식으로 동시 패싯을 해결하는 ML7 및 ML8입니까? CTS에서

는 "동시"옵션에 대 한 요소-값 문서 : 여러 사전 호출 (예를 들어, 동일한 쿼리에서 발생하는 경우 here

이 유 무엇을 의미합니까 "이것은 많은 해결, 경우에 특히 유용합니다 패싯 하나의 쿼리) "?

동일한 쿼리 또는 단일 쿼리를 어떻게 정의 했습니까?

검색을 사용하지 않고 cts : element-values를 사용하여 여러면을 해결해야하는 경우 어떻게하면 동시에 "단일 쿼리"에 넣을 수 있을까요?

답변

1

각 응용 프로그램 서버에는 구성된 최대 스레드 수가 있습니다.

concurrency-level within the query options은 REST 또는 검색 API를 사용하는 쿼리가 소비 할 수있는 스레드 수를 제어합니다 (appserver의 최대 값으로 제한됨).

쿼리가 실행되면 서버는 패싯 해상도에 대한 스레드를 할당합니다 (쿼리 옵션의 최대 값과 그 당시 사용 가능한 실제 스레드 수까지).

스레드보다 많은 패싯이있는 경우 추가 패싯의 해상도가 스레드간에 균형있게 분산됩니다.

서버는 실행중인 스레드에서 여러 코어를 활용하도록 설계되었습니다.

ML7과 ML8은 동일한 기본 접근 방식을 사용합니다.

쿼리는 요청, eval 또는 호출의 종단 간 처리로 구성됩니다.

cts:element-values() 개의 요청을 동시에 실행하려면 모든 호출이 실행될 때까지 호출에서 할당 된 변수에 액세스하지 마십시오.

즉, 검색 API는 패싯의 동시 실행이 뛰어나므로 다른 이유가있을 경우가 아니면 그 기능을 활용하는 것이 좋습니다.

+0

감사합니다. 귀하의 대답은 도움이됩니다 :). –