Sitecore.NET 6.6.0 (. 회전 130404) 우리의 프로젝트에서Sitecore - 응용 프로그램 전체 인덱스 검색 자
우리는 우리의 모든 쿼리를 수행 할 Sitecore.Search.IndexSearchContext를 사용을 재사용. 특히 IndexSearchContext.Searcher 메서드를 사용하여 내부 Lucene 검색기에 액세스하고 Lucene 쿼리를 전달합니다.
우리는 동일한 IndexSearchContext 인스턴스를 재사용하여 모든 쿼리를 수행하면 실행되는 각 쿼리에 대해 IndexSearchContext를 만들고 파괴하는 것보다 훨씬 빠르다는 것을 발견했습니다 (웹 기사 및 실험을 통해).
또한 IndexSearchContext는 IndexSearchContext를 만든 후에 만들어진 인덱스 업데이트에 민감하지 않음을 읽었습니다. 이 때문에 공유 된 IndexSearchContext를 삭제하고 매 30 초마다 새로 작성하여 쿼리가 30 초 지연만으로 최신 결과를 얻을 수 있도록합니다. 이 방법을 사용하려면 작성의 스레드 안전성을 신중하게 처리하고 공유 된 인덱스 검색기를 처리해야합니다.
일을하는 것이 안전한 방법입니까? Sitecore에서 응용 프로그램 차원의 색인 검색 프로그램을 재사용하는 것이 바람직하지 않습니까?
감사