2016-11-18 1 views
0

데이터베이스 (mongodb)의 데이터와 함께 작동하는 REST 서비스가 있습니다. 전체 텍스트 검색을 구현하기 위해 lucene 라이브러리를 추가하고 싶습니다.lucene에서 인덱싱을 할 때

나는 그래서 튜토리얼을 확인 할 작동 방식을 이해하기 전에 루씬을 사용한 적이 있지만, 여전히 한 가지 나를 위해 불분명하다 :

때 DB 데이터의 인덱싱을 할? 나는 DB를 가지고 있으며, 일부 데이터는 더 자주 추가되고 제거되며, 일부는 거의 업데이트되지 않습니다. 모든 최신 데이터로 검색 요청을 수행 할 수있는 구조 여야합니다.

모든 데이터 업데이트에서 인덱스를 업데이트해야합니까, 아니면 자동으로 인덱스를 작성할 수 있습니까? reindexing해야한다면 얼마나 자주?

답변

2

실시간 데이터를 검색하려면 add, update and delete 데이터를 데이터베이스에서 수행하는 동시에 add, update and delete 데이터를 lucene 인덱스로 가져와야합니다.

indexing에 대해서는 완벽하게 정상적으로 작동하지만 모든 조작에 대해서는 optimize 색인이 아닙니다.

색인을 하루에 한 번 또는 사용자의 용도에 따라 최적화 할 수 있습니다. 색인을 최적화하면 더 빠른 검색 결과를 얻을 수 있습니다.

tutorial을 참조하면 lucene의 기본 응용 프로그램으로 시작됩니다.

+0

설명해 주셔서 감사합니다. – Bublik

+0

놀라워요! 감사 – Ichirichi

1

MongoDB의 고유 기능을 사용해 볼 수 있습니다 (Mongo Docs 참조). 이것은 아마도 유연성이 아니며 Lucene만큼 강하지는 않지만 무료입니다.

정말 문제가되는 질문 : "색인을 생성 할 때?". 그리고 그 대답은 당신의 요구 사항에 따라 다릅니다. 그러나 this post에서 기술적으로 어떻게 수행되는지 확인할 수 있습니다. 오프라인입니다. 즉 색인 생성에서 항상 뒤떨어져 있습니다.

관련 문제