2011-05-03 1 views
3

그래서 저는 solr 태양 흑점을 며칠 동안 사용해 왔고 그 문제에 대해 조금 미쳐 가고있었습니다. 나는 많은 다른 사이트에서 답을 찾았지만, 많은 사람들이 서로 다른 생각을 갖고있는 것처럼 보인다. 태양 흑점이 자동 인덱싱을 사용하여 다른 환경에서 모델의 색인 생성/색인 다시 생성을 관리하는 방법을 파악하려고합니다.다른 환경에서 태양 흑점을 맞 춥니 다.

데브/생산성이 : 이것은 내가 결론을 내렸다 무엇 저장이/객체를 업데이트하면 자동으로 SOLR에 해당 객체의 색인을 업데이트

테스트 : 저장/자동으로 인덱스를 업데이트하지 않는 개체를 업데이트을 수행해야 object.reindex를 호출하십시오! 그것이 효력을 발휘하기 위해서는.

콘솔 : 테스트와 동일합니다. Solr을 적절하게 업데이트하려면 Reindex가 필요합니다.

이 모양이 맞습니까? 솔로 흑점 설치에 문제가 있거나 너무 다른 환경에서 똑같이 작동하지 않는지는 오랫동안 나를 죽이고있었습니다. 어떤 도움이라도 대단히 감사하겠습니다!

답변

7

Solr에서 문서를 업데이트 한 후 Solr이 디스크에 변경 사항을 쓰고 검색 결과에 나타나게하려면 "커밋"을 실행해야합니다. Sunspot :: Rails는 Rails 요청 과정에서 자동으로이를 처리하지만, 외부에서는 (테스트에서 콘솔에서) 명시 적으로해야한다. 간단한 Sunspot.commit입니다.

+0

많은 경우, Solr의'autoCommit'' maxTime'을 30-60 초와 같이 설정하고 잊어 버릴 수 있습니다. 하지만 자동으로 테스트 환경 (예 : 테스트 환경에서)을 테스트해야한다면 outoftime이 말한 것처럼 수동 커밋을 실행합니다. –

1

이 인덱스를 업데이트하는 세 가지 방법은 다음과 같습니다

  1. object.index : 색인의 오브젝트를 표시,하지만하지 않을 수 있습니다 즉시
  2. 즉시 object.index! : 인덱스 오브젝트
  3. 색인
  4. Class.reindex 즉시
  5. 당신이 있는 .index를 사용한다처럼 소리

모델의 인덱스의 모든 개체! 메서드 대신 .index 메서드를 사용합니다.

+0

색인에 대한 설명을 찾을 수 없기 때문에 나는이 대답을 upvoted! 다른 곳. 어디서 찾았 니? –