0

Solr(通过 Lucene)支持不同的方式来指示字段在文档中的索引方式:索引、标记化、存储......

我正在寻找一种将字段存储在 Solr 中但未编入索引的方法。有没有办法在 Sunspot 中实现这一目标?

4

2 回答 2

2

Sunspot 的配置 DSL 支持其:stored => true许多默认类型的选项。对于存储字符串的示例,它会比我的第一个示例简单得多:

searchable do
  string :name, :stored => true
end

这会生成一个字段名称,name_ss对应dynamicField于 Sunspot 标准模式中已经存在的以下内容:

<dynamicField name="*_ss" stored="true" type="string" multiValued="false" indexed="true"/>

您还可以创建自己的自定义fielddynamicField在您的 schema.xml 中存储但不编入索引,然后使用 Sunspot 1.2:as选项指定相应的字段名称。

例如,上面的一个更详细的版本。在您的架构中:

<dynamicField name="*_stored_string" type="string" indexed="false" stored="true" />

在你的模型中:

searchable do
  string :name, :as => 'name_stored_string'
end
于 2011-06-17T13:06:01.037 回答
0

你可以试试 :

http://localhost:8983/solr/admin/luke?numTerms=0

并使用 xpath 或正则表达式读取具有架构属性值的字段:

<str name="I">Indexed</str>
<str name="T">Tokenized</str>
<str name="S">Stored</str>

你会得到类似的东西:

<lst name="field">
<str name="type">stringGeneralType</str>
<str name="schema">--SM---------</str>
</lst>
于 2011-05-27T11:02:30.470 回答