将文档 ID 写入索引的异常;可能的分析错误

Jav*_*cal 4 java solr solrj

索引文档时出现上述错误。

<field name="a_suggest" type="my_suggest_field" indexed="true" stored="false"/>
<field name="b_suggest" type="my_suggest_field" indexed="true" stored="false" />
<field name="c_suggest" type="my_suggest_field" indexed="true" stored="false"/>

  <fieldType name="my_suggest_field" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.EdgeNGramFilterFactory" maxGramSize="10" minGramSize="2"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
    </analyzer>
  </fieldType>
Run Code Online (Sandbox Code Playgroud)

我打电话时出错..

server.add(documents);
Run Code Online (Sandbox Code Playgroud)

首先,可能的分析错误是什么意思?是否与my_suggest_field索引分析器有关。是否由于索引分析器中的标记、过滤器的顺序?

谢谢。

Eri*_*mas 5

我将回避这个问题,因为它是查找此问题时首先出现的问题之一,并且没有通用的答案。

我在尝试使用更新 API 使用 json 添加文档时遇到了同样的问题。来发现我在 solr 中的一个字段格式不正确,因为我试图将一个 XML 字符串保存到一个字符串字段中。我不得不将字段更改为 text_general。

该错误基本上是说您输入的内容可能不适合您的架构。通过一次将它们添加到更新 1 来检查您的每个字段。然后根据需要进行更改。