如何在弹性搜索中创建索引和类型?
Posted
技术标签:
【中文标题】如何在弹性搜索中创建索引和类型?【英文标题】:How to create index and type in elastic search? 【发布时间】:2018-03-27 17:32:26 【问题描述】:我已经安装了elasticsearch版本2.3.2
。我必须将index
和type
添加到那个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
【讨论】:
以上是关于如何在弹性搜索中创建索引和类型?的主要内容,如果未能解决你的问题,请参考以下文章