Solr 查询 - HTTP 错误 400 未定义字段文本
Solr Query - HTTP error 400 undefined field text
在我的 solr 查询中,我在一台服务器上没有问题,而在某些情况下另一个抛出错误 error { "msg":"undefined field text", "code":400}
。
我也参考了 和许多其他参考资料。但是我找不到它出现这种行为的原因。
q=title:'food'
- returns 结果
q=title:"food safety"
- returns 结果
q=title:'food safety'
- 错误 { "msg":"undefined field text", "code":400}
提前致谢。
使用 debugQuery=true
了解您的查询在解析后的外观。
q=title:'food safety'
解析查询后
"parsedquery_toString":"title:food text:safety"
Solr 在标题字段 title:food
中搜索术语 'food' 并在名为文本的 default
字段中搜索安全性。 text:safety
由于它使用默认字段进行搜索(在本例中为文本),字段 text
应该在架构文件中明确定义。
检查您的模式文件并进行相应修改。示例字段定义以供参考。
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
在我的 solr 查询中,我在一台服务器上没有问题,而在某些情况下另一个抛出错误 error { "msg":"undefined field text", "code":400}
。
我也参考了 和许多其他参考资料。但是我找不到它出现这种行为的原因。
q=title:'food'
- returns 结果
q=title:"food safety"
- returns 结果
q=title:'food safety'
- 错误 { "msg":"undefined field text", "code":400}
提前致谢。
使用 debugQuery=true
了解您的查询在解析后的外观。
q=title:'food safety'
解析查询后
"parsedquery_toString":"title:food text:safety"
Solr 在标题字段 title:food
中搜索术语 'food' 并在名为文本的 default
字段中搜索安全性。 text:safety
由于它使用默认字段进行搜索(在本例中为文本),字段 text
应该在架构文件中明确定义。
检查您的模式文件并进行相应修改。示例字段定义以供参考。
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>