[英]Sunspot / Solr Full text search - how to exclude certain fields from full text search?
[英]Sunspot / Solr full text search - how to index Rails associations
是否有可能通過與太陽黑子的關聯索引?
例如,如果客戶有多個聯系人,我希望我的客戶模型上有一個“可搜索”塊,用於索引Contact#first_name和Contact#last_name列,以便在Customer上進行搜索。
acts_as_solr有一個:include選項。 我只是將關聯的列名稱組合到Customer上的文本字段中,如下所示,但這似乎不太靈活。
searchable do
text :organization_name, :default_boost => 2
text :billing_address1, :default_boost => 2
text :contact_names do
contacts.map { |contact| contact.to_s }
end
有什么建議么?
這正是如何做到的。 Solr本質上是面向文檔的,因此來自數據庫中的關聯的任何數據都會平滑到您的文檔中。 答:包括選項只是溫和的糖,最終做你在這里做的事情。
當然:
searchable do
string :sort_contact_name do
contacts.map { |contact| contact.last_name }.sort.first
end
end
然后,您可以按:sort_contact_name字段進行排序。 請注意,我必須將聯系人名稱集減少為單個名稱,因為Solr只能對每個文檔具有單個值的字段進行排序(當您考慮它時這是有意義的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.