我对太阳能场的索引和存储属性的行为有点困惑。
例如,如果我在 Schema.xml 中有以下内容
<field name="test1" type="text" indexed="false"
stored="false" required="false" />
会场test1即使我创建一个包含该字段的文档并为该字段设置一个值并将该文档提交到 Solr,也不会存储在 Solr 文档中。因为我有stored=false
属性,是否意味着该字段的值在Solr中丢失并且没有被持久化?
那是对的。通常,您希望对字段进行索引或存储,或两者兼而有之。如果您将两者都设置为 false,则该字段在您的 Solr 文档中将不可用(无论是用于搜索还是用于显示)。当您想将两者都设置为 false 时,请参阅 Alexandre 的回答以了解特殊情况。
就像声明的那样here http://wiki.apache.org/solr/SchemaXml#Common_field_options : indexed=true
使字段可搜索(并且可排序和可分面)。例如,如果您有一个名为test1
with indexed=true
,然后你可以像这样搜索q=test1:foo
, where foo
是您正在寻找的值。如果indexed=false
对于字段test1
那么该查询将不会返回任何结果,即使您在 Solr 中有一个文档test1
的值为foo
.
stored=true
意味着您可以在搜索时检索该字段。如果您想显式检索查询中字段的值,您将使用fl
您的查询中的参数如下fl=test1
(默认为fl=*
意思是检索所有存储的字段)。除非stored=true
for test1
,该值将被返回。否则将不予退回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)