2011-05-18 21 views
8

En son projemizde arama yapmak için güneş lekesi kullanıyoruz. Ayrıca hazırlamak kullanabilir ve aşağıdaki gibi kullanıcı modeli indeksleme gibidir: Solr çalıştığı sürece bu kurulumlaSunspot Dizini Yalnızca Aranabilir Alanlar Değiştirildiğinde

searchable do 
    text :fname 
    text :lname 
    text :email 
    text :description 
    text :twitter_username 
end 

, bir kullanıcı bile giremiyorum. Bu, Kullanıcı modelinin her kaydında, aranabilir alanların hiçbiri değişmemiş olsa bile, solr sunucumuzla (reindexing?) Iletişimin olduğunu gösterir. Bu doğru mu?

Ayrıca, sık sık güncelleştirilebilen, arama yapamayan alanlara sahip olan, güneş lekesi tarafından dizine eklenmiş birçok başka modelimiz de var. Tüm bu güncellemelerde güneş lekesi onları yeniden düzenliyormuş gibi görünüyor.

Yalnızca aranabilir bir alan değiştiğinde, yalnızca solr ile arabirim oluşturmak için güneş lekesini yapılandırmanın bir yolu var mı?

+0

Sunspot kapalıyken giriş yapmak istiyorsanız, https://github.com/bdurand/sunspot_index_queue adresindeki – lulalala

cevap

12

Size en güncel güneş lekesi gemisine sahip olduğunuzu varsayalım.

  1. Model değiştiğinde her zaman güneş lekesi yeniden endeksleri. Bu davranışı çimdik (options for searchable bakınız):

    aranabilir: ignore_attribute_changes_of => [: AVERAGE_RATING: permalink] metin yapın: başlık uç

    kaynak kodu üzerinde bir göz atın: https://github.com/outoftime/sunspot/blob/master/sunspot_rails/lib/sunspot/rails/searchable.rb

  2. hala ilk istek kadar çalışması gerekir Siteniz solr için:

    • tam metin arama isteği ya

    • Muhtemelen bu nedenle ANDA tetikleme, kullanıcı modeline Kullanıcı sisteme giriş her zaman bir güncelleme yapıyoruz

    bir indeksleme isteği ya.

daha fazla ipucu: aslında

  • , buna komutu işlemek var, çok zaman alır indeksleme değil; taahhüt komutu, her web isteğinin sonunda varsayılan olarak verilir; Bu, üretim alanında çok maliyetlidir. Ben change the policyautocommit after X seconds için tavsiye ederim; sunspot_matchers

  • : Eğer sitesi Solr sunucu arızası durumunda çalışması gerekir böylece Talep güneş lekesi yama olduğunu istiyorsanız

  • , ben testi env için sunucu arayüzünü alay bu gem göz atmaya için tavsiye

+1

no'lu telefonu ziyaret edin. Açıkça aranabilir alanları açıkladığımızda bunu belirtmemiz rahatsız edici. Değişen alanların dizini etkileyip etkilemeyeceğini belirlemek için günışığı düzenini sorgulamak için searchable.rb'ye ek mantık ekleyen bir yama oluşturursam, herhangi bir komplikasyon öngörmektesiniz? – ghempton

İlgili konular