2
多種類型與單一類型的太陽黑子搜索有什麼優點和缺點?什麼是首選方式?多種類型與單一類型的太陽黑子搜索
我看了很多文檔,似乎無法找到答案。
- https://github.com/sunspot/sunspot
- https://github.com/sunspot/sunspot/wiki
- http://sunspot.github.com/sunspot/rails/docs/index.html
- 多類型搜索的http://sunspot.github.com/sunspot/docs/Sunspot.html#search-class_method
實施例:
Sunspot.search(Post, Comment) do
with :blog_id, 1
fulltext 'hello' do
fields(:comment_body)
end
end
單的T實施例ype搜索有關聯的另一個型號:
class Post < ActiveRecord::Base
searchable do
text :comments do
comments.map { |comment| comment.body }
end
end
Post.search do
fulltext 'hello' do
fields(:comments)
end
end
看來我可以使用任一方法(多種類型或單一類型)實現相同的結果。
在任何情況下,似乎更像是一個應用程序問題(用戶搜索的語義是什麼,以及如何建模?)而不是技術問題。 –
嗨尼克 - 謝謝你對太陽黑子的評論和你的工作。要回答您的問題,用戶通過表單搜索以找到匹配的帖子列表。表單中有複選框,允許用戶搜索全部或部分選定的字段。並非所有字段都是Post模型的屬性,有些字段來自其他模型(如評論模型)。其他模型與Post模型相關聯。例如,發佈has_many:評論。因此,在用戶提交表單後,它會執行一個控制器的方法,然後該方法僅調用搜索模型方法來執行搜索。 – konyak
我的問題只是一般(多種類型與單一類型搜索)。但是要分解它,1。我們是否應該在每個模型中放置可搜索塊,並且執行Sunspot.search(model1,model2等);或者我們應該將可搜索塊放入用戶關心的一個模型中,並使用映射關聯模型之間的數據。 2.什麼時候多種類型搜索方便?我看到很多關於單一類型的例子,很少有多種類型的例子。多種類型搜索沒有用或推薦? – konyak