Java EE 애플리케이션은 Lucene을 사용합니다. 4. Lucene 색인에서 저는 10 백만 명의 정식 명을 받았습니다. 검색을 사용하면 Lucene이 다른 결과를 반환합니다. 동일한 응용 프로그램은 Windows의 개발 환경, AIX의 테스트 환경에서 잘 작동하지만 프로덕션 서버의 Lucene 검색은 훨씬 적은 레코드를 반환합니다. 동일한 쿼리는 개발에서 800 개의 결과를, 생산에서 20 개의 결과를 반환합니다. 우리는 프로덕션 환경에서 AIX와 Red Hat을 시도 할 것이지만 여전히 운이 없다.Lucene 검색은 다른 결과를 반환합니다.
프로덕션 환경에서 개발 환경으로 Lucene 색인 파일을 복사했으며 동일한 응용 프로그램으로 동일한 쿼리를 검색했습니다. 제 환경에서는 모두 정상적으로 작동하며 800 개의 결과가 있습니다. 내가 디버그로 응용 프로그램을 시작하고 텍스트로 Lucene 쿼리를 복사 한 다음 내 환경에서 Luke와 함께이 쿼리를 사용합니다. 800 개의 결과가 있습니다. 생산량이 많아서 개발 환경을로드하려고 시도하지만 Lucene은 안정적으로 작동하며 항상 800을 반환합니다.
문제의 원인을 어디에서 찾을 수 있습니까?
이것은 일반적으로 다른 분석기로 인해 발생합니다. 특히 자바와 .net을 섞어 사용하면 더욱 그렇습니다. 모든 환경에서 동일한 설정과 불용어로 동일한 분석기를 사용하고 있는지 확인할 수 있습니까? – sisve
모든 환경에서 작동하는 소스 코드가 동일하지만 다른 버전의 JRE가 있습니다. 색인을 업데이트 할 때 StandardAnalyzer가 사용됩니다. 쿼리 중에 분석기는 소스 코드에 명시 적으로 표시되지 않습니다. Luke에서 다른 분석기를 쿼리에 사용하려고 시도하지만, 항상 800 개의 결과가 있습니다. – bobzer
파일 시스템이나 메모리에 인덱스를 어디에 저장하고 있습니까? – Yogesh