如何使用sunspot SOLR搜索嵌入式mongoid文档?
有人知道如何使用索引和搜索吗如何使用sunspot SOLR搜索嵌入式mongoid文档?,mongoid,sunspot,Mongoid,Sunspot,有人知道如何使用索引和搜索吗 这个问题已经被问到了,但到目前为止还没有解决办法 刚刚试过。这是一种黑客攻击,但它可以搜索嵌入的文档,并返回包含它的父文档。这就是你想要的吗?如果是这样,那么就这样做。定义一个方法,该方法返回所需的嵌入字段作为数组,然后为该数组编制索引 假设你有一个班级公司,有嵌入式部门 searchable do # Your regular index # ... text :company_departments end def company_departme
这个问题已经被问到了,但到目前为止还没有解决办法 刚刚试过。这是一种黑客攻击,但它可以搜索嵌入的文档,并返回包含它的父文档。这就是你想要的吗?如果是这样,那么就这样做。定义一个方法,该方法返回所需的嵌入字段作为数组,然后为该数组编制索引 假设你有一个班级公司,有嵌入式部门
searchable do
# Your regular index
# ...
text :company_departments
end
def company_departments
departments.map(&:name).join(" ")
end
重新编制索引并尝试搜索。您还可以在可搜索块中包含一个块,该块返回要索引的文本。例如:
searchable do
text :innerdoc do
innerdocs.map { |i| i.title + ' ' + i.description }
end
end
它从嵌入的“innerdocs”数组中获取标题和描述,并将其添加到主文档的索引中
sunspot文档提供了有关“可搜索”块语法的最佳信息: