簡體   English   中英

Sunspot / Solr全文搜索 - 如何索引Rails關聯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM