Lucene.Net 및 NHibernate.Search를 전체 텍스트 검색 엔진으로 사용하는 웹 응용 프로그램이 있습니다. NHibernate.Search는 데이터베이스에서 변경이 이루어질 때마다 Lucene 인덱스에 전달되도록 설정됩니다.Lucene.net 및 NHibernate 검색 동시성 문제
웹 응용 프로그램이 4 개의 작업자 프로세스를 사용하여 실행 중입니다. 우선이 문제가 있습니까? Lucene 지수가 데이터베이스와 동기화되어 100 %가 아니라는 사실을 알고 있습니다. 데이터베이스에 대한 일부 변경 사항은 Lucene 색인에 나타나지 않습니다. 그러나 수동으로 데이터의 색인을 다시 만들려고하면 정상적으로 작동합니다.
다중 프로세스 환경에서 Lucene.Net을 사용할 때 동시 작업과 관련이 있습니까?
IndexReader는 인덱스를 열 때 존재했던 것처럼 인덱스에서만 작동한다는 점도 기억해야합니다. IndexReader를 연 후에 인덱스를 업데이트하면 이러한 새 문서가 표시되지 않습니다. –
@ MarkLeightonFisher 문제는'LockObtainTimeouts' 때문이었습니다 - 우선 NHibernate 로거가 꺼져있어 감지 할 수 없었습니다. 문제는 그러한 타임 아웃이 발생하면 항목이 저장되지 않는다는 것입니다. 나는이 모든 타임 아웃의 정확한 원인을 여전히 찾아야한다. –
이 칼과 행운이 있었나요? – coalvilledave