현재 2 밀리미터 이하의 레코드를 매우 빠르게 검색해야하는 응용 프로그램이 있습니다.확장 가능한 프리 텍스트 및 매개 변수 검색 (C#)
검색은 다양한 기능/계산 & 정렬과 함께 넓은 범위의 자유 텍스트 필드와 여러 범위의 정수/소수 필드를 모두 검색해야합니다.
현재 우리는 내장 된 freetext 엔진을 사용하는 큰 MSSQL 데이터베이스와 트랜잭션 테이블에서로드를 이동시키는 일부 복제를 처리하고 있습니다.
그러나 예상했던대로이 솔루션은 확장 성이 가장 뛰어납니다.
작은 Lucene 기반 문서 저장소를 작성했으며 일반적으로 텍스트 검색이 1/2 초 (100k 레코드)보다 오래 걸리지 않으면 서 결과에 많은 인상을 받았습니다.
힘든 부분은 매개 변수 검색입니다. Lucene이 기본 범위 일치를 수행한다는 것을 알고 있습니다. 그러나 우리는 더 강력한 것을 필요로한다고 생각합니다.
강력한 쿼리 기능을 가진 db4o를 사용하여 약간의 테스트 데이터베이스를 만들었지 만 이러한 쿼리는 매우 느립니다. SQL은 프리 텍스트 & 파라 메트릭 검색에 약 1.5 초가 걸립니다.
또한 데이터베이스의 업데이트 해상도는 10 분 미만이어야하며 레코드의 약 15 %는 매일 변경됩니다. 우리의 SQL 서버는 현재 이것을 처리하고 있지만 삐걱 거리기 시작합니다. 적절한 기술에 관한 안내는 &입니다.
건배, 데이브
"더 강력한 것이 필요합니다."라는 의미를 분명히 할 수 있습니까? Lucene 파라 메트릭 검색에 대해? 이것은 매우 강력하며 대부분의 쿼리 요구 사항을 수용해야합니다. – Mikos
db4o가 100k 개체에서 15 초가 걸리는 것은 우리 데이터베이스처럼 들리지 않습니다. db4o 포럼에 코드를 게시하고 싶습니까? http://developer.db4o.com/Forums.aspx 속도 향상을 위해 무엇인가 할 수 있다고 확신합니다. –
SQL Server의 전체 텍스트 검색을 사용하지 않는 이유는 무엇입니까? –