2009-07-31 2 views
4

다중 프로세스가 lucene을 수정할 수있게하는 가장 좋은 방법은 무엇입니까? 잠금 또는 충돌없이 인덱스가 없습니까?다중 프로세스가 lucene을 수정할 수있게하는 가장 좋은 방법은 무엇입니까

여러 소스가 간섭없이 색인을 수정/검색 할 수 있도록 디렉토리에 "잠금"을 추가하는 데 사용되는 코드는 무엇입니까?

최대한 탄력성있게 만들고 싶습니다.

덕분에, 엘리

+0

답 Kene에게 감사드립니다. 색인을 "변경"하는 것으로 고려하고 있습니까? 다른 단일 프로세스를 사용하여 (채우는) 인덱스에 쓰는 동안 다른 프로세스에서 여러 검색을 실행할 수 있습니까? –

+0

아니오 - 쿼리는 인덱스를 수정하지 않습니다. 다른 프로세스가 변경하는 동안 열려있는 인덱스 판독기 오브젝트로 여러 프로세스를 가질 수 있습니다. – KenE

답변

2

루씬은 여러 프로세스 simulatneously 인덱스를 수정할 수 없습니다. 당신이 루씬 인덱스를 수정하려는 여러 프로세스가있는 경우, 옵션은 다음과 같습니다

  1. 인덱스를 수정하고 다른 프로세스의 요청을 제공하는 서버를 구현합니다.
  2. Solr을 사용하여 위 작업을 수행하십시오.
  3. 큐에 수정 사항을 쓰고 배치 프로세스를 실행하여 큐를 읽고 인덱스를 수정하십시오.