2

我在 Rails 上使用 Sunspot Solr 进行搜索。

在我的类定义中,我有这样的东西(从我的真实中简化):

searchable do
  text :name
  integer :count
  boolean :priority
end

我有什么方法可以直接在搜索的命中结果中访问整数和布尔字段的值?

我看到有设置属性字段的选项stored => true,这使它们可用于命中对象。但是,整数和布尔字段显然已经按原样存储在某个地方,因为我能够对它们进行排序和过滤,只是不能通过命中对象的存储方法访问它们,所以有什么办法可以让它们显示出来?

stored => true如果答案是否定的,那么当传递给整数或布尔字段时究竟在做什么?

我在 Websolr 上有一个相当大的索引,用它重新索引stored => true会有点令人望而却步。

4

1 回答 1

2

常用字段选项

indexed=true|false
如果该字段应该被“索引”,则为真。如果(且仅当)一个字段被索引,那么它是可搜索的、可排序的和可分面的。

stored=true|false
如果字段的值在搜索期间应可检索,则为真。

索引和存储数据的维护方式不同。Solr 内部使用索引数据进行操作。
如果要显示数据,则必须使用存储属性为 true 来索引数据。

于 2012-09-14T11:07:12.633 回答