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>