2014-11-19 1 views
0

전체 텍스트 검색에 lucene을 사용하는 동안 인덱스를 메모리에 보관하고 싶습니다. 색인 크기가 최대 2GB가 될 수 있으며 초과하면 OutOfMemoryException이 발생합니다. multisearcher를 사용하는 것이 해결책이 될 수 있습니까? multiSearcher에서도 다중 색인을 만들지 않습니다.lucene multiSearcher advantage

답변

0

JVM에 할당 된 공간 이외에 RAM 인덱스 크기에 하드 제한이 있다고 생각하지 않습니다. MultiReader으로 인덱스를 결합해도 JVM에 충분한 메모리가 없어도 극복 할 수 있습니다 (빌드하고 쓰레기, 필요에 따라 인덱스 등을 계획하지 않는 한, 그렇다고 생각하지 않습니다)).

자세한 내용은 Increase heap size in java을 참조하십시오.

또한 Mike McCandless는 blog post on this topic을 작성하여 관심있어합니다.

+0

당신이 명확하게 할 수 있습니다 https://stackoverflow.com/questions/8391575/how-to-use-ramdirectory-and-avoid-outofmemoryexception-if-the-object-size-exceed – user3701803

+0

당신은 색인 크기는 jvm에 할당 된 공간에 따라 다릅니 까? 그래서 인덱스 크기가 jvm에서 사용할 수있는 메모리를 초과하면 OutOfMemoryException이 발생합니까? – user3701803

+0

글쎄, 그래. RAM에 저장하는 것이므로 사용 가능한 RAM 용량보다 크면 잘 작동하지 않습니다. 당신이 말하는 질문은 Lucene.net에 대해 이야기하는 것입니다. .Net에 부과 된 제한 사항은 java에는 적용되지 않습니다. – femtoRgon

관련 문제