2012-03-09 3 views
4

Solr에 대해 오랫동안 실행중인 쿼리에 대한 문제에 대한 이론이 있지만 사실인지 또는 테스트 방법을 알지 못합니다.클라이언트 연결이 끊어진 후에 Solr 쿼리가 계속됩니까?

저는 cURL을 사용하여 응용 프로그램에서 Solr에 질의합니다. cURL은 Solr이 3 초 이내에 응답을 보내지 않으면 포기하고 연결을 끊어 cURL을 호스팅하는 응용 프로그램이 Solr의 요청 된 데이터없이 계속할 수 있도록 구성되었습니다. cURL 연결이 끊어진 후에도 Solr은 백그라운드에서 계속 쿼리를 처리한다는 이론입니다.

이것은 Solr의 역할입니까? 그렇다면이 동작을 변경하는 구성 옵션이 있습니까? 이 동작을 테스트 할 실제 방법이 있습니까?

답변

5

Solr은 쿼리를 시간 초과하지 않습니다. 하나의 간단한 테스트는 3 초 이내에 완료되지 않은 동일한 쿼리로 몇 초 후에 다시 서버에 도달하는 것입니다. 쿼리 캐시 등이 올바르게 구성되어 있으면 (거의) 즉각적인 응답을 받아야합니다. 이 종류는 클라이언트가 연결을 끊었을 때 쿼리 실행이 중단되지 않았 음을 보여줍니다. 또한,

this

당신은 timeAllowed 매개 변수를 사용하여 실험 할 수

가 있는지 확인하기 위해 here 설명 참조 (이 테스트가 많은 빠르게 두 번 실행 쿼리로 이어질 수있는 요인이 될 수없는 매우 안정) 도움이 될거야.

+1

흥미 롭습니다! 명확히하기 위해 클라이언트가 3 초 후에 HTTP 측에서 연결이 끊긴 경우에도 30 초가 걸리는 쿼리가 계속 실행됩니다. 도움을 주셔서 감사합니다. 특히 timeAllowed에 대한 팁이 있습니다. – Brad

+0

맞습니다. 'timeAllowed'를 사용하지 않으면 쿼리가 계속 실행됩니다. – nikhil500

+0

우수, 다시 귀하의 도움에 감사드립니다 !! – Brad

관련 문제