2012-12-10 5 views
0

Lucene의 검색 API는 "hitsPerPage"매개 변수를 수신합니다. 검색 성능에 큰 영향을주는 것 같습니다. 예를 들어, 100에서 10으로 줄이고 검색 시간을 두 배 줄였습니다."히트"가 Lucene 검색 성능에 어떤 영향을 줍니까?

괜찮습니까? 왜 검색 성능에 영향을 미칩니 까? 문제가 있음을 나타 냅니까?

+1

정확히 Lucene에 hitsPerPage 매개 변수가 있습니까? Lucene은 여전히 ​​가능한 모든 경기에 점수를 매길 필요가 있기 때문에 히트 곡의 수는 중요하지 않습니다. 자신의 수집가를 쓰지 않는 한. 일치하는 수는 메모리 할당에 영향을 미치고 반환 된 모든 문서에 저장된 필드를로드하는 경우 속도가 느려집니다. –

+0

@GiliNachum 나는 이것을 사용하여'Collector'를 만듭니다. 네가하는 말은 내가 생각하는 바로 그 것이다. Lucene 프로세스 _all_는 histPerPage와 상관없이 점수별로 정렬하므로 검색 성능에 영향을주지 않습니다. – Michael

+1

docId/score 쌍을 정렬하는 데 사용되는 PriorityQueue 크기로 인해 메모리 할당에 영향을줍니다. 또한 언급 한 바와 같이 저장된 필드를 검색하면 영향을 미칩니다. –

답변

1

hitsPerPage은 말하자면 페이지의 크기를 지정합니다. Google 검색 결과와 같이 생각해보십시오. 각 페이지에서 얻는 결과 ('히트') 수를 지정할 수 있습니다.

hitsPerPage 히트 만 원한다면 좋겠지 만 그 이상을 원한다면 더 많은 페이지를 검색해야합니다.

검색 성능에 영향을주는 이유는 무엇입니까?

Lucene은 더 작은 페이지를 원할 때 더 적은 작업을 처리 할 수 ​​있기 때문에 (더 적은 일치 자 문서를 반환하므로) 조회수가 많으면 더 많은 문서를 검색하는 것이고 이는 더 많은 파일에서 더 많은 위치를 찾는 것을 의미합니다.

+0

감사합니다. 나는 첫 번째 페이지 만 가져온다. 이제 검색 성능에 왜 영향을 미치는지 궁금합니다. – Michael

관련 문제