在站內搜索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 問題解決!