2017-01-30 1 views
1

나는 Elasticsearch를 사용하여 데이터를 전달하고 검색하는 새로운 마이크로 서비스가 거의 없으며 ES를 사용하는 통합 테스트가 거의 필요하지 않습니다. 내가 가진 문제는 some_document.save() 후에 데이터를 가져 오는 것입니다. 테스트 된 코드를 통해 데이터를 가져 오기 위해 sleep (1)을 사용해야합니다.Python으로 테스트 할 때 Elasticsearch 인덱싱을 "차단"하는 방법은 무엇입니까?

테스트에서 잠을 사용하지 않기 위해 블로킹/싱크로너스로 만드는 방법이 있습니까?

답변

2

이유는 인덱스를 새로 고치는 데 시간이 걸리기 때문입니다.

수면 대신 코드를 수동으로 새로 고침하면됩니다. 이 코드는 다음 사용하는 동일한 시스템에 있다면

POST /_refresh 
POST /<index>/_refresh 

:.

import requests 
requests.post('localhost:9200/<index>/_refresh') 
+0

지수 ('인덱스') 새로 고침()와 그것을 작동하는 것 같군. 감사. – Riklaunim

+0

도움이된다면 친절하게 upvote하십시오. – harshil9968

관련 문제