在站内搜索Solr Schema设计时,有个FTS_URL字段(之前设计url也会参与检索和打分),因此其配置信息如下:
<field name="FTS_URL" type="string" indexed="true" stored="true" omitNorms="false" />
其中 :
type表示类型以及分词类型。
indexed表示是否支持索引。
stored表示是否保存到索引中,这个属性很关键,有些字段不适合保存,而且会影响性能。作为返回结果的字段,设为true,反之false。
omitNorms表示是否支持打分,不支持则false。
后来,根据分析,URL不适合分词,仅仅适合保存并返回结果的字段,因此把indexed设置为false。
<field name="FTS_URL" type="string" indexed="false" stored="true" omitNorms="false" />
设置后也没有管它,今天solr重启,忽然发现solr的一个core起不起来了,错误信息如下:
OTHER_CORE: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Schema Parsing Failed: SchemaField: FTS_URL conflicting 'false' field options for non-indexed field:{indexed=false, stored=true, omitNorms=false}. Schema file is /usr/local/solrhome/solr/OTHER_CORE/schema.xml
根据错误信息指示,字段配置冲突,然后信息提示不完整,“conflicting 'false' field options for non-indexed”,到底指的是哪个属性呢?很显然,此处omitNorm是不合适的,只要把它去掉好了,重启solr,正常运行,ok 问题解决!