加载模型时出错:缺少链'vespa'

时间:2018-11-20 10:56:39

标签: vespa

我在vespa应用程序中有自定义搜索器和自定义DocumenetProcessor.service.xml如下所示:

<services version="1.0">

  <container id="default" version="1.0">
    <document-api/>
    <search>
      <chain id="default" inherits="vespa">
        <searcher id="com.example.test.CustomSearcher" bundle="example-vespa-app"/>
      </chain>
    </search>
    <nodes>
      <node hostalias="node1" />
    </nodes>
    <document-processing>
      <chain id="default" inherits="vespa">
        <documentprocessor id="com.example.test.CustomDocumentProcessor"/>
      </chain>
    </document-processing>
  </container>


  <content id="test_user" version="1.0">
    <redundancy>1</redundancy>
    <documents>
      .....
  </documents>
    <nodes>
      <node hostalias="node1" distribution-key="0" />
    </nodes>
  </content>
</services>

我的CustomDocumentProcessor如下:

public class CustomDocumentProcessor  extends DocumentProcessor {

    @Override
    public Progress process(Processing processing) {
        for (DocumentOperation op : processing.getDocumentOperations()) {
            if (op instanceof DocumentPut) {
                DocumentPut put = (DocumentPut) op;
                Document document = put.getDocument();
                document.setFieldValue("documentType", 
                 String.valueOf(document.getDataType()));
            }
        }
        return Progress.DONE;
    }

}

当我从service.xml中删除CustomDocumentProcessor时,我的应用程序可以正常工作。添加它时,会出现错误:

请求失败。 HTTP状态码:400 无效的应用程序包:默认值。默认值:错误加载模型:缺少链“ vespa”。

那是为什么?请帮忙。

1 个答案:

答案 0 :(得分:2)

从文档处理链中删除“ inherits = vespa”。

没有像搜索链那样的“ vespa文档处理链”。