Solr 错误 500 在短语查询中搜索 text_general 字段

标签 solr phrase

获取查询错误:

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>

最佳答案

这是因为您将 field_type 从 string 更改为 text_general 并且没有执行干净的索引。所以索引器没有必要的位置数据。首先清空你的核心使用

/your_core_name/update?stream.body=<delete><query>*:*</query></delete>&commit=true

然后索引这个核心。

关注:上面的更新代码将删除核心中的所有数据,并且无法撤消!

关于Solr 错误 500 在短语查询中搜索 text_general 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574731/

相关文章:

java - 如何修复 "variable phraseLength might not have been initialized"(Java)?

Solr:使用 EdgeNGramFilterFactory 的精确短语查询

mongodb - 使用 Apache Nutch 抓取图像

asp.net-mvc-3 - 集成 Solr for Asp.net MVC 3..Solrnet 或 Ajax-Solr

java - 应用日语 fileType 时出现 ClassNotFoundException

hadoop - 如何将PDF文件从HDFS索引到Solr

mysql将结果限制为每行的第一个短语

Java:包含关键短语的输出字符串

ruby-on-rails - 将 SOLR/Lucene 搜索与 Rails 应用程序集成 - 哪些 gem ?提示?

c++ - 在 C++ 中给定单词的字符串 vector 创建一个短语