2012-05-05 4 views
0

전 텍스트 검색을 위해 데이터베이스 및 Lucene에 저장된 Content 엔티티가 있습니다. 엔티티에는 사용자 + 또는 - 등급으로 업데이트되는 필드 등급이 있습니다. 등급은 언제든지 업데이트 할 수 있으므로 올바른 등급 값을 보여줘야 어떻게 좋을까요? Lucene 문서에 등급을 저장하고 사용자가 업데이트 할 때마다 업데이트해야합니까?Lucene.net 및 자주 업데이트하는 필드

+1

lucene 색인에 등급을 저장하는 이유는 무엇입니까? –

+0

RavenDB 용입니까? –

+0

Lucene을 검색 서비스 또는 데이터 저장소로 사용하고 있습니까? – Kane

답변

1

일반적 접근 방식은 다음입니다 : 루씬에

  • 상점 엔티티 ID, 당신은 쉽게이 ID가 데이터베이스 또는 캐시에서 개체를로드 할 수 있습니다.
  • 검색, 필터링 또는 주문을 수행 할 엔터티 필드를 저장합니다. 예를 들어 사용자 이름으로 검색하는 경우 사용자 이름을 저장합니다. 사용자 이름과 사용자 약력으로 검색하려면 두 필드를 모두 저장하십시오. 이 필드에서 검색 할 필요가없는 경우 예를 들어 사용자 나이 또는 사용자 전화를 저장하지 마십시오. 평점과 동일 - 평가로 검색 할 필요가없는 경우 (평가가 100보다 많거나 등급이! = 0 인 모든 사용자를 검색하는 등의 쿼리를 수행 할 필요가 없다고하자) Lucene에 등급을 저장하지 마십시오. Lucene에서 검색을 수행하고 엔티티 ID를 가져온 다음 데이터베이스 또는 캐시에서 등급을 검색하십시오. 이렇게하면 사용자 이름이나 사용자 약력과 같은 필드가 거의 변경되지 않는 경우에만 데이터베이스에서 등급을 업데이트하고 Lucene 색인을 업데이트해야합니다.
관련 문제