如何在弹性搜索中创建索引和类型?

Posted

技术标签:

【中文标题】如何在弹性搜索中创建索引和类型?【英文标题】:How to create index and type in elastic search? 【发布时间】:2018-03-27 17:32:26 【问题描述】:

我已经安装了elasticsearch版本2.3.2。我必须将indextype 添加到那个elasticsearch。在我使用感觉插件来实现这一点之前。但是该插件已从网上商店中删除。请提出建议。

【问题讨论】:

【参考方案1】:

Sense 插件现在是 Kibana 应用。安装请参考official reference。

您的问题的答案是,您可以通过运行以下 curl 命令来创建索引并在 Elasticsearch 中输入内容

curl -XPUT "http://localhost:9200/IndexName/TypeName"

【讨论】:

您必须从命令行运行此命令。您在哪个操作系统中尝试此操作? 如果我运行意味着得到'curl'不是一个公认的命令错误。 你要先安装 curl 【参考方案2】:

您可以使用像邮递员这样的 Rest 客户端来执行此操作。您可以将邮递员作为 chrome 扩展来获取。

另一种方法是通过 SSH 连接到集群中的一个节点,然后使用 CURL 运行 POST 命令。

`curl -X POST 'localhost:9200/bookindex/books' -H 'Content-Type: application/json' -d'
 
    "bookId" : "A00-3",
    "author" : "Sankaran",
    "publisher" : "Mcgrahill",
    "name" : "how to get a job"
 '

我将自动创建一个名为“bookindex”的索引,类型为“books”,并对数据进行索引。如果索引和类型已经存在,它会将条目添加到索引中。

【讨论】:

【参考方案3】:

Elasticsearch 中的所有操作都可以通过 REST API 调用来完成。

要创建索引,请使用index API

curl -XPUT 'localhost:9200/twitter?pretty' -H 'Content-Type: application/json' -d'"settings" : "index" : "number_of_shards" : 3, "number_of_replicas" : 0 '

要创建映射,您可以使用_mapping 端点-

curl -XPUT http://localhost:9200/twitter/tweets/_mapping -d @"create_p4_schema_payload.json"

这里,映射是通过一个json文件名create_p4_schema_payload.json提供的,其中包含以下内容-


  "properties": 
    "user_name": 
      "type": "text"
    
  

所有这些都可以通过任何支持 curl 的终端运行。对于 Windows,您可以安装 cygwin 以从命令提示符运行 linux 命令。

【讨论】:

【参考方案4】:

Sense 插件已从 chrome 网上商店中移除。您可以使用类似于开发工具的 Kibana 来执行 ElasticSearch 查询。

按照this链接安装kibana。

【讨论】:

【参考方案5】:

就像上面所说的,您可以通过 REST api 调用来访问它。您需要运行的命令是:

curl -XPUT 'http://localhost:9200/IndexName?include_type_name=TypeName'

例如,CURL 是可以导入 Postman 的原始文本,或者您可以安装它的 CLI 并简单地运行它。简单地说:

这是对 ElasticSearch/IndexName 的 PUT api 调用,添加了查询参数 include_type_name。

参考指南位于:Elastic Search - Create index API

【讨论】:

以上是关于如何在弹性搜索中创建索引和类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Informix 中创建 BTS 索引

如何使用 golang 和 mgo 库在 mongodb 中创建文本索引?

SQL CREATE INDEX 语句:如何创建索引?

弹性搜索如何索引嵌套列表

弹性搜索,多个索引与不同数据集的一个索引和类型?

如何在java中的每个arraylist中创建具有不同类型对象的arraylist数组?