获取查询错误:
LNm:" PersonLastName III"
回复是:"字段\" LNm \"被索引没有位置数据;无法运行PhraseQuery'
架构是:
<field name="LNm" type="text_general" indexed="true" stored="true"/>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
答案 0 :(得分:13)
这是因为您将field_type从string更改为text_general并且没有执行干净的索引。因此索引器没有必要的位置数据。首先使用
清空核心/your_core_name/update?stream.body=<delete><query>*:*</query></delete>&commit=true
然后索引这个核心。
注意:上面的更新代码会删除核心中的所有数据,但这无法撤消!
答案 1 :(得分:0)
由于在&#34; PF&#34;中使用了复制域,我也得到了同样的错误。 solr的参数。 删除&#34; PF&#34;中的任何副本字段参数,它将顺利运作。
我的Solr Schema =&gt; copyField source =&#34; name&#34; DEST =&#34; SNAME&#34; 强>
我的SolrConfig文件=&gt; attr_Cuisines ^ 20 sname ^ 10 邻域^ 5子类^ 10个标签^ 1个特征^ 2
当我从&#34; PF&#34; 参数中删除&#34; sname&#34; 时,它有效