如何使用elasticsearch 5.5.1

时间:2017-08-02 15:27:07

标签: elasticsearch kibana

我是Elasticsearch的新手。我已经使用Kibana,X-pack和摄取附件成功安装了Elasticsearch。我有Elasticsearch和Kibana都在运行。我使用Windows 2012服务器上的默认选项安装时保持简单。我在另一个驱动器w\mydocs上有一个目录,目前它只有3个纯文本文件,但我想添加其他像pdf和doc文件类型。所以现在我想把这些文件放到Elasticsearches索引中。我尝试使用以下链接作为指南Attaching pdf docs in Elasticsearch,但我无法让它发挥作用。

以下是我设置索引和管道的方法:

PUT _ingest/pipeline/docs 
{
  "description": "documents",
  "processors" : [
    {
      "attachment" : {
        "field": "data",
        "indexed_chars" : -1
      }
    }]
}
PUT myindex
{
  "mappings" : {
    "documents" : {
      "properties" : {
        "attachment.data" : {
          "type": "text",
          "analyzer": "standard"
        }
      }
    }
  }
}

然后在我使用以下内容获取第一个文档:     PUT localhost:9200/documents/1?pipeline=docs -d @/w/mydocs/README.TXT

我收到的错误是:

{
  "error": {
    "root_cause": [
      {
        "type": "parse_exception",
        "reason": "request body is required"
      }
    ],
    "type": "parse_exception",
    "reason": "request body is required"
  },
  "status": 400
}

2 个答案:

答案 0 :(得分:1)

即使在索引二进制数据时,您仍然必须向Elasticsearch发送有效的JSON。这意味着,您必须将文档编码为base64,然后将其放入像这样的JSON文档

{
  "data" : "base64encodedcontentofyourfile"
}

答案 1 :(得分:0)

我被建议不要使用摄取附件,而是使用FsCrawler。我设法使Fscrawler无需将任何内容转换为base64。