1
Lucene.Net을 사용하여 사용자 정의 검색 엔진을 작성하려고합니다.조회수를 최적화하는 방법 Lucene.Net의 객체 루핑
모두 잘 될 것 같지만 검색 기능에 의해 반환 된 조회수 개체를 반복하는 동안 문제가 발생합니다. 항목을 검색 할 때마다 Search Function의 경우 약 0.07 초, 반환 된 객체로 반복 할 때는 20 ~ 90 초가 소요됩니다.
예 : (총 11384 개의 결과가 반환되었습니다)
검색에 소요 된 시간은 0.068 초입니다.
개체 루핑은 25.50 초가 걸렸습니다. 이제
두 번째 시간 I 루프는 상기와 동일한 경우에 (훨씬 적은 시간이 소요이 같은 객체
그것은 0.141 초 걸렸습니다 여기 이 검색 기능은 다음과 같습니다.public List<SearchResultId> SearchId(string searchTerm)
{
IndexSearcher indexSearcher = new IndexSearcher(_indexDir);
List<SearchResultId> searchList = new List<SearchResultId>();
try
{
QueryParser queryParser = new QueryParser(_fieldName, new StandardAnalyzer());
Query query = queryParser.Parse(searchTerm);
Hits hits = indexSearcher.Search(query);
int numHits = hits.Length();
SearchResultId search;
for (int i = 0; i < numHits; ++i)
{
search = new SearchResultId();
search.score = hits.Score(i);
search.id = hits.Doc(i).Get(LuceneIndexer.DOC_ID_FIELD_NAME);
searchList.Add(search);
}
}
catch
{
indexSearcher.Close();
}
indexSearcher.Close();
return searchList;
}
일이 정상입니까 ?이 프로세스를 최적화하는 방법이 있나요?
감사