Solr(通过Lucene)支持不同的方式来指示字段在文档中编入索引的方式:索引,标记化,存储,......
我正在寻找一种方法来存储存储在Solr但未编入索引的字段。有没有办法在太阳黑子中实现这一目标?
答案 0 :(得分:2)
Sunspot的配置DSL为其许多默认类型支持:stored => true
选项。对于存储字符串的示例,它将比我的第一个示例简单得多:
searchable do
string :name, :stored => true
end
这将生成一个字段名称name_ss
,对应于太阳黑子标准架构中已存在的以下dynamicField
:
<dynamicField name="*_ss" stored="true" type="string" multiValued="false" indexed="true"/>
您还可以在schema.xml中创建自己的自定义field
或dynamicField
以进行存储但不编制索引,然后使用Sunspot 1.2 :as
选项指定相应的字段名。
例如,上面的更详细的版本。在您的架构中:
<dynamicField name="*_stored_string" type="string" indexed="false" stored="true" />
在你的模特中:
searchable do
string :name, :as => 'name_stored_string'
end
答案 1 :(得分:0)
您可以尝试:
http://localhost:8983/solr/admin/luke?numTerms=0
使用xpath或regex读取具有架构属性值的字段:
<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>