MVC 사이트에서 Lucene.net의 검색 기능을 사용하고 있습니다. 이 사이트에는 100,000 개가 넘는 제품이 있습니다. 인덱스는 사이트 용으로 이미 구축 된 것입니다. 그러나 사이트에는 정기적으로 (잠재적으로 매 15 분마다) 데이터베이스를 업데이트하는 2 개의 데이터 피드가 있습니다. 따라서 데이터가 많이 바뀌고 있습니다. Lucene 인덱스를 업데이트하는 방법은 무엇입니까? 아니면 전혀하지 않아도됩니까?Lucene.net 색인을 정기적으로 업데이트하십시오.
3
A
답변
2
인덱싱되지 않은 항목을 데이터베이스에서 가져 오기 위해 자주 실행 (잠재적으로 매 15 분마다)하려면 프로세스 스케줄러 (예 : Quartz.Net)를 사용하십시오.
비교할 ID로 필드를 사용하십시오 (시퀀스 번호 또는 날짜 시간과 같음). 색인에서 최근에 추가 된 문서를 가져오고 데이터베이스에서 최신 문서를 가져오고 중간에 모든 색인을 생성합니다. 중복 색인을 생성하지 않도록 조심해야합니다 (또는 색인이없는 문서는 건너 뜁니다).
또는 색인 생성을 2 개의 데이터 피드와 동기화하고 데이터베이스에 저장된 문서의 색인을 생성하여 위에있는 함정 (중복/누락)을 방지 할 수 있습니다. 이 피드가 데이터베이스를 업데이트하는 방법을 잘 모르겠지만이를 가로 채어 색인을 적절하게 업데이트 할 수 있습니다.
0
이 솔루션을 살펴보면 동일한 요구 사항이 있으며이 링크의 솔루션을 사용하여 저에게 효과적이었습니다. 타이머를 사용하면 너무 자주 색인을 생성하므로 어떤 중복/건너 뛰기 문제가 발생하지 않습니다. 시도 해봐.
Making Lucene.Net thread safe in the code
감사합니다.
관련 문제
- 1. Nhibernate.Search (Lucene.Net)에서 색인을 작성하는 방법은 무엇입니까?
- 2. Magento 선택한 제품의 색인을 업데이트하십시오.
- 3. 테이블의 파일/폴더 구조를 정기적으로 업데이트하십시오.
- 4. Lucene.NET 솔루션
- 5. 많은 드롭 다운의 선택된 색인을 업데이트하십시오.
- 6. elasticsearch-rails를 사용하여 색인을 자동으로 업데이트하십시오.
- 7. mvc 응용 프로그램에서 solr 색인을 업데이트하십시오.
- 8. Lucene.Net 색인을 작성하는 동안 메모리 사용량이 계속 증가합니다
- 9. Lucene.net index in php
- 10. Lucene.net 검색 엔진
- 11. 정기적으로 다른 레거시 서버의 새 레코드로 테이블을 업데이트하십시오.
- 12. NHibernate.Search + Lucene.NET 중복 항목
- 13. Lucene.net 객체의 수명?
- 14. Lucene.net IndexSearcher.search 결과 없음
- 15. 캐싱 Lucene.net 검색 결과
- 16. lucene.net 색인의 중복 문서
- 17. Lucene.net 검색 내가 Lucene.net 검색 사용하고
- 18. Lucene.NET 성능
- 19. 나는 Lucene.Net
- 20. Lucene.Net PrefixQuery
- 21. Lucene.NET "OR"
- 22. Lucene.NET MultiSearcher
- 23. Lucene.Net - IndexWriter.SetMergedSegmentWarmer
- 24. Lucene.net : 건물 인덱스와 인덱스 검색
- 25. Lucene.Net TermQuery 와일드 카드 검색
- 26. Lucene.NET 평생 관리
- 27. 정기적으로 (예정된) 신호를 통해 클라이언트를 정기적으로 업데이트합니다.
- 28. Lucene.net 숫자 값으로 검색 (문자열로)
- 29. Lucene.NET with SQL SERVER 2000
- 30. Lucene.net 서버 팜/다중 서버
색인이 한 번 작성되었으며 다시 쓰지 않는다고 말하고 있습니까? 이 시나리오에서는 데이터베이스를 최신 상태로 유지하는 프로세스를 확실히 만들 것입니다. – rae1
색인을 다시 작성하는 방법이 있습니까? –