1

우리의 n * 스택을 최신 버전으로 업그레이드하는 중입니다. 우리는 구성을 위해 FluentNhibernate를, 전체 텍스트 검색을 위해 Lucene.Net과 결합 된 Nhibernate.search를 사용했습니다.Nhibernate.Search 업그레이드 후 Twin Lucene 색인 디렉토리

  • FluentNHibernate.dll : 1.0.0.593
  • NHibernate.dll : 2.1.0.4000
  • NHibernate.Search.dll : 2.0 난 다음에 라이브러리의 다양한 버전을 변경할 때까지 다 괜찮 았는데. 0.1001
  • Lucene.Net.dll : 스택이 아니라 이전에 일하고있다,하지만 난 뭔가 이상한 눈치 2.3.1.3

; Lucene 색인 디렉토리가 색인화 된 각 클래스에 대해 하나의 하위 디렉토리를 포함하기 전에는 정수로 접미어가 붙은 두 개의 하위 디렉토리를 사용합니다.

우리는 내가 FluentNhibernate의 구성 건물 주위에 조금 찌르고

LuceneDirectory 
.Class1.0 
.Class1.1 
.Class2.0 
.Class2.1 

LuceneDirectory 
.Class1 
.Class2 

에서 가서 각각의 매핑, 난,이 개 수입 만든 전체 이름 하나 가지고 발견 하나는 매핑되지 않고 하나는 "User"클래스를 매핑하고 하나의 매핑은 가져오고 두 개의 가져 오기에는 "POCOAssembly.User"및 "User"가 있습니다. 디렉터리는 FullTextIndexEventListener의 Initialize 호출에서 만들어집니다.

누구나 동일한 문제가 발생 했습니까? nhibernate.search 릴리스 노트를 통해 읽었지만 매핑 변경과 관련된 정보를 찾지 못했습니다. 내가 놓친 게 있니? 도서관에 큰 변화가 있었습니까?


편집 : 나는 내 매핑 클래스와 내 매핑은 감사 목적 (생성 날짜/업데이트 시간)에 사용되는 공통 기본 객체에서 파생 것을 지적하는 것이 중요 할 수 있습니다 실현

. 나는 문제가 NHibernate에 JIRA에서보고 된 것을 발견

답변

1

: 무슨 일이 있었는지

https://nhibernate.jira.com/browse/NHSR-22 내가 NHibernate에 구성에서 두 개의 기본 속성을 설정이다; "hibernate.search.default.directory_provider"및 "hibernate.search.default.indexBase" 코드가 잠시 동안 테스트되지 않았기 때문에이 기본 구성은 두 개의 샤드로 간주됩니다.

해결 방법은 "hibernate.search.default.directory_provider"항목을 기본값으로 올바른 항목으로 제거하는 것입니다.