2013-03-04 1 views
0

태양 점 sunspot.github.com에 대한 예제에서 belongs_to :blog 연관은 integer :blog_id 인 블록 searchable 내에서 색인이 생성됩니다. 나중에 검색을 with(:blog_id, 1)을 사용하여 특정 블로그로 제한 할 수 있습니다.태양 흑점이 정수를 색인하지 못함 belongs_to id 필드

연결이 retailer이고 인덱스가 retailer_id 인 경우를 제외하고는이 작업을 수행 한 경우입니다. 그러나 검색 할 때 with(:retailer_id, 4)을 사용하자마자 결과가 반환되지 않습니다. 이 조건을 해제하면 반환되는 모든 결과는 retailer_id = 4입니다.

나는 여러 번 다시 색인을 생성했습니다. 나는 sunspot_rails 1.3.3과 2.0.0을 시도했다.

다른 모든 text 필드는 잘 인덱싱되는 것으로 보입니다.

Rails 로그에 표시된 쿼리가 solr로 이동하면 해당 필드가 포함 된 것처럼 보입니다.

다른 원인은 무엇일까요?

답변

0

Sunspot.index(Item.first)으로 시도한 후 xml에 retailer_id가 포함되어 있음을 확인했습니다. 나는 갈퀴 작업에 의해 수행 된 가져 오기에 대한 로그를 점검했다.

내가 겪고있는 문제는 DataMapper.finalize이 호출 될 때까지 DataMapper가 연결 속성을 만들지 않기 때문입니다. 이것은 reindexing을 위해 포함 된 sunspot_rails tasks.rb의 일부로 발생하지 않습니다.

나를위한 빠른 해결책은 레이크 작업을 단순히 복사하고 모든 모델이 필요하면 마무리 할 통화를 추가하는 것이 었습니다.