Rails 3 및 Sunspot solr 3.5로 작업하고 있습니다. 내 응용 프로그램은 Solr을 사용하여 사용자 생성 콘텐츠를 색인화하고 다른 사용자를 검색 할 수있게합니다. 목표는 사용자가 업로드 한 시점부터 최대한 빨리이 데이터를 검색 할 수 있도록하는 것입니다. 이것이 실시간 검색의 자격이되는지 나는 모른다. 특정 기술을 기반으로 사용자 검색이 post_item에 제공되는 경우 있도록태양 흑점과 Solr 3.5. 실시간 검색을위한 인덱스 수동 업데이트
내 응용 프로그램은 두 가지 모델
- 게시물
- PostItems 후 항목에서 데이터를 포함하여
I 지수 게시물이 있습니다 해당 게시물 개체가 검색에서 사용 가능하게 기록하십시오.
사용자는 자주 post_items를 업데이트하므로 새 post_item이 추가 될 때마다 새 post_item을 검색 중에 사용할 수 있도록 해당 게시물 객체를 다시 색인해야합니다.
그래서 순간에 나는 새로운 post_item 객체를받을 때마다 나는 this documentation에 따라 즉시 인덱스를 업데이트하고 커밋
post_item.post.solr_index! #
를 실행합니다. 이 방법이 작동하지만이 시나리오에서 인덱싱을 처리하는 올바른 방법입니까? 검색하는 동안 호출 색인이 solr을 깨뜨릴 수 있다고
here 읽습니다. 또한 수시로 수동으로 색인을 호출하는 방법은 없습니다.
올바른 방법을 제안합니다. 의이 말을 매 순간하자, 당신보다 배치 인덱싱을 할 수있을 것입니다 https://github.com/bdurand/sunspot_index_queue
이 보석을 사용하는
그러나 어떻게하면 일괄 인덱싱이 진행되는 동안 검색하지 않는 것이 보장됩니다. 실시간 검색 중에 solr이 중단되는 원인이 아닙니까? 검색을 수행하지 않고도 색인을 생성 할 수있는 좋은 시간은 하나도 없기 때문입니다. – Sid
이 solrconfig.xml이 http://solr-ra.tgels.org/wiki/en/Near_Real_Time_Search_ver_3.x를 조정하지만 데이터가 실제로 민감한 경우 프로덕션 환경에서 테스트하지 않았으므로이 기능을 두 번 테스트해야합니다 프론트 엔드 사용자가 검색하는 동안 백엔드 색인 생성에 문제가 없었기 때문에 - 하루에 10K 명/200 개의 새로운 문서 추가) – okliv