2011-05-25 60 views
0

Solr的(通过Lucene的)支持不同的方式来表示某个字段在文档中建立索引的方式:索引,记号化,存储,...Solr的太阳黑子非索引字段

我正在寻找一种方式来有存储在Solr中的字段,但没有索引。有没有办法在太阳黑子中实现这一点?

回答

2

太阳黑子的配置DSL支持的选项210的许多默认类型。对于存储串的例子,它会比我的第一个例子简单得多:

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

这生成对应于以下dynamicField已经出现在太阳黑子的标准架构的name_ss字段名:

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

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

例如,上面的一个更详细的版本。在您的模式:

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

而在你的模型:

searchable do 
    string :name, :as => 'name_stored_string' 
end 
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> 
+0

会告诉我,如果一个字段存储/编入索引。但是不是告诉Solr关于现场存储属性的一种方式。或者我在这里错过了什么? – Khash 2011-05-27 18:38:13