Lucene 검색어의 성능을 향상시켜야합니다. RAMDirectory를 사용할 수 있습니까? 성능을 최적화합니까? 인덱스 크기 제한이 있습니까? 누군가 RAMDirectory를 사용하여 장단점을 나열 할 수 있으면 감사하겠습니다.RAMDirectory를 사용할 때 장단점을 알아야합니다.
감사합니다.
Lucene 검색어의 성능을 향상시켜야합니다. RAMDirectory를 사용할 수 있습니까? 성능을 최적화합니까? 인덱스 크기 제한이 있습니까? 누군가 RAMDirectory를 사용하여 장단점을 나열 할 수 있으면 감사하겠습니다.RAMDirectory를 사용할 때 장단점을 알아야합니다.
감사합니다.
RAMDirectory는 빠르지 만 디스크에 기록되지 않습니다. 프로그램이 실행되는 동안에 만 존재하며 프로그램이 실행될 때마다 처음부터 만들어야합니다.
인덱스가 RAM에 편안하게 들어가기에 충분히 작고 자주 업데이트하지 않으면 디스크에 인덱스를 유지 한 다음 RAMDirectory(Directory dir)
생성자를 사용하여 RAMDirectory를 만들 수 있습니다. 쿼리는 디스크에있는 쿼리보다 빠르게 수행해야합니다. 일단 쿼리를로드하면 페널티를 지불해야합니다. 그러나 차이점을 측정하십시오. 인덱스가 RAMDirectory로 메모리에 맞을 수 있다면 디스크 캐시에도 맞을 수 있으므로 많은 차이가 없을 수도 있습니다.
RAMDirectory의 사용을 프로파일 링해야합니다. 적어도 Linux에서는 RAMDirectory를 사용하는 것이 OS가 I/O를 버퍼링하는 방식 때문에 기본 FSDirectory를 사용하는 것보다 빠릅니다.
FSDirectory와 RAMDirectory를 비교합니다.
- 인덱스의 크기는 1.4G
- 를 CentOS, 5G 메모리
검색 1000 개 키워드, 평균/최소/최대 응답 시간 (밀리 초) 여기
RAMDirectory가 FSDirectory보다 빠르다는 것을 알 수 있습니다. 그러나 'os file cache warm up'이후에는 속도 차이가 별개가 아닙니다. RMADirectory의 단점은 무엇입니까? 내 테스트에서
ur 입력에 감사드립니다. 얼마나 작습니까? "충분히 작습니까?" – user43498
사용 가능한 실제 RAM보다 작다고 생각합니다. –