2009-10-29 3 views
3

Lucene.Net을 사용하여 지원 티켓 데이터베이스에 대한 간단한 검색 양식을 만들고 필터 처리 기능을 추가하여 티켓 상태. 이 일을하는 가장 좋은 방법은 무엇입니까? 지금까지 내가 내가 가지고있는 옵션을 볼 수 있습니다 :lucene.Net을 사용하여 전체 텍스트 검색 및 필터링을 결합하는 방법

  1. 는 루씬에서 검색 결과를받은 후 필터를 적용
  2. 을 Lucene.Net
  3. 을 사용하는 모든 내 인덱스에서 필터링 기준으로 사용할 용어 및 필터를 포함 Lucene이 반환 한 결과를 필터링하기 위해 데이터베이스로 이동하여 필터에 유효하지 않습니다.

옵션 1을 사용하면 필터링 할 추가 필드마다 인덱스의 크기가 점점 커집니다. 반면에 옵션 2는 색인의 크기를 늘려서 새 필드를 추가 할 때 문제를 일으키고 페이징을 더 까다롭게 만듭니다.

여기에 확실한 선택이 있습니까? 아니면 둘 다 결합 할 수 있습니까? (내가 볼 수 없습니다하는 3 옵션이 있습니다?)

답변

2

나는 우리는 옵션 1 모든 시간을 가서 루씬의 외부 데이터를 필터링하지

:-) 인덱스의 크기에 대해 걱정하지 것이다 .그물. 데이터베이스에서 필터링 한 후 "실제"조회수를 얻기 전에 lucene.net에서 많은 조회수를 검색해야하는 상황에 처할 수 있습니다. 데이터베이스에 대한 여러 왕복이 필요할 수도 있습니다.

현재 우리는 150K 문서에서 약 100 개의 필드를 평균적으로 가지고 있으며 매우 잘 작동합니다.