【问题标题】:Error undefined field: "stream_size" on solr错误未定义字段:solr 上的“stream_size”
【发布时间】:2017-02-03 14:40:56
【问题描述】:

我尝试在引用 solr 6.3 中数据库列的字段中使用/更新/提取,但它不起作用,并且出现此错误:

Status: {"data":{"responseHeader":{"status":400,"QTime":8},"error":{"metadata":["error-class","org.apache.solr.common.SolrException","root-error-class","org.apache.solr.common.SolrException"],"msg":"undefined field: \"stream_size\"","code":400}},"status":400,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"headers":{"Content-type":"application/json","Accept":"application/json, text/plain, */*"},"data":"[]","url":"/solr/TesteSisp/update%2Fextract","params":{"wt":"json","_":1486132402860,"commitWithin":1000,"boost":"1.0","overwrite":true},"timeout":10000},"statusText":"Bad Request"}
Response:

{
  "responseHeader": {
    "status": 0,
    "QTime": 5
  }
}

有人知道我能做什么吗?

【问题讨论】:

  • 您的架构中有stream_size 字段吗?使用 SchemaAPI 查看定义的字段。
  • 不,我不知道。我该怎么做?

标签: database apache solr field apache-tika


【解决方案1】:

提取过程会生成一堆包含内容和元数据的字段。 Solr 要求您明确说明如何处理它在索引过程中收到的每个字段。

您需要制定应对策略。通常是以下之一:

  1. 在架构中显式创建字段(或具有匹配的动态字段)
  2. 使用无模式模式根据首次看到的内容自动创建字段
  3. 使用fmap or uprefix 将字段名称全局映射到已知字段/动态字段
  4. 拥有一个动态 * 字段,该字段将存储或丢弃所有与其他定义不匹配的字段名称。

您还可以在 UpdateRequestProcessor 链中使用字段和/或字段名称,但这更高级。

【讨论】:

  • 其中一种策略必须有效。特别是 4 号。如果它不起作用,可能是您编辑了错误的配置文件,没有将其上传到 Cloud(如果使用它)或没有重新加载集合以获取更改。检查管理 UI 的文件浏览器是否看到您所做的更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-08
  • 1970-01-01
  • 2019-05-15
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多