2010-04-21 7 views
1

Lucene.Net (+ NHibernate.Search를 사용하지만 검색은 중요하지 않음)을 사용하여 느린 검색 성능을 보입니다.슬로우 Lucene.Net 검색 성능

누가 복음의 도구 상자 개요 : 필드의

  • 번호 : 문서의 33
  • 번호 : 용어의 5607
  • 번호 : 101377
  • 가 삭제를 했습니까?/최적화? : 예 (97478)/아니오

인덱스 디렉토리가 ~ 200MB 크기입니다. (org.apache.lucene.analysis.SimpleAnalyzer 사용)

쿼리

Title:lapsa~0.5 Abstract:lapsa~0.5 Content:lapsa~0.5 Location:lapsa~0.5 Author:lapsa~0.5

평균 ~ 60000ms 걸립니다.


나는 중요한 무엇인가 놓치고 있다고 생각합니다. 어떤 아이디어가 잘못된거야? 이것이 정상적 일 수는 없습니다.


'확인'및 '수정'을 시도했습니다. Don't open IndexReader (when opening corrupted index)을 체크 했어야합니다. 그렇지 않으면 Check index tool이 나타나기를 원하지 않습니다. 검사의

결과 :

BAD: missingSegments

진단 출력 :

ERROR: could not read any segments file in directory java.io.FileNotFoundException: no segments* file found in [email protected]:\Temp\Index: files: at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:655) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:538) at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:306) at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:340) at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:319) at org.getopt.luke.Luke$6.run(Unknown Source)

Fix Index을 눌러 시도. 알 수 있습니다 :

ERROR during Fix Index: java.lang.NullPointerException at org.apache.lucene.index.CheckIndex.fixIndex(CheckIndex.java:781) at org.getopt.luke.Luke$7.run(Unknown Source)

+0

최적화를 시도 했습니까? 당신이 삭제 대기중인 * lot *을 가지고있는 것 같습니다 ... –

+0

@codeka'luke-> tools-> optimize index'를 누르면'Failed : no index, index is closed. 다시 열어주세요. "다시 열면 도움이되지 않습니다. –

답변

2

손상된 색인이있는 것처럼 들리 네요. D : \ Temp \ Index 폴더에 개의 파일이 있습니까? 나는 있어야하거나 검색이 전혀 작동하지 않는다고 가정합니다 ... Lucene.Net의 어떤 버전을 사용하고 있습니까? 이전 버전은 모자를 떨어 뜨 렸을 때 나를 위해 색인을 손상 시키는데 사용되었지만 이후 버전은 그 점에서 훨씬 더 나은 것처럼 보입니다.

알아낼 수없는 경우 처음부터 색인을 다시 작성하면됩니다.

0

루크에서는 도구 메뉴로 이동하여 색인 색인 도구를 선택하십시오. 색인이 손상되었거나 다른 문제가 있는지 확인하십시오.

+0

누락 된 세그먼트가 있다고 말합니다. Wtf? –

+0

해결할 수 있었습니까? –

0

This 하나가 도움이되었습니다. 자동 최적화로 전환되었습니다.