
一、开始创建索引
您可以通过 Elasticsearch 的 RESTFul API 来创建索引:
PUT >
term 查询是简单查询,接受一个字段名和参数,进行精准查询,类似sql中:
ES中对应的DSL如下:
在ES5x及以上版本,字符串类型需设置为keyword或text类型,根据类型来进行精确值匹配。
当进行精确值查询,可以使用过滤器,因为过滤器的执行非常快,不会计算相关度(ES会计算查询评分),且过滤器查询结果容易被缓存。
bool过滤器组成部分:
当我们需要多个过滤器时,只须将它们置入 bool 过滤器的不同部分即可。
terms是包含的意思,如下:
name包含["奥尼尔","麦迪"]
返回结果:
range查询可同时提供包含(inclusive)和不包含(exclusive)这两种范围表达式,可供组合的选项如下:
类似sql中的范围查询:
ES中对应的DSL如下:
如下sql,age不为null:
ES中对应的DSL如下:
如下sql,age为null:
ES中对应的DSL如下:
注:missing查询在5x版本已经不存在。
匹配包含 not analyzed(未分词分析)的前缀字符:
匹配具有匹配通配符表达式( (not analyzed )的字段的文档。 支持的通配符:
1) 它匹配任何字符序列(包括空字符序列);
2) 它匹配任何单个字符。
请注意,此查询可能很慢,因为它需要遍历多个术语。
为了防止非常慢的通配符查询,通配符不能以任何一个通配符或 开头。
正则表达式查询允许您使用正则表达式术语查询。
举例如下:
注意: 的匹配会非常慢,你需要使用一个长的前缀,
通常类似+通配符查询的正则检索性能会非常低。
模糊查询查找在模糊度中指定的最大编辑距离内的所有可能的匹配项,然后检查术语字典,以找出在索引中实际存在待检索的关键词。
举例:
检索索引test_index中,type为user的全部信息。不过在 es6x 版本,一个index仅有一个type,未来 es7x 版本,将取消type,所以这个查询没啥意义。
返回指定id的全部信息。
全文检索查询,是通过分析器,对查询条件进行分析,然后在全文本字段进行全文查询。
全文搜索取决于mapping中设定的analyzer(分析器),这里使用的是ik分词器。
所以在进行查询开发时候,需要先了解index的mapping,从而选择查询方式。
匹配查询接受文本/数字/日期类型,分析它们,并构造查询。
对查询传入参数进行分词,搜索词语相同文档。
match_phrase查询分析文本,并从分析文本中创建短语查询。
用户已经渐渐习惯在输完查询内容之前,就能为他们展现搜索结果,这就是所谓的即时搜索(instant search) 或输入即搜索(search-as-you-type) 。
不仅用户能在更短的时间内得到搜索结果,我们也能引导用户搜索索引中真实存在的结果。
例如,如果用户输入 johnnie walker bl ,我们希望在它们完成输入搜索条件前就能得到: Johnnie Walker Black Label 和 Johnnie Walker Blue Label 。
match_phrase_prefix与match_phrase相同,除了它允许文本中最后一个术语的前缀匹配。
索引管理 使您能够查看索引设置、映射和统计信息并执行索引级 *** 作。这些包括刷新、刷新、清除缓存、强制合并段、冻结索引等等。实践良好的索引管理有助于确保以最具成本效益的方式存储您的数据。
索引管理 还可以帮助您创建索引模板。使用索引时,模板减少了簿记的数量。您可以从模板自动创建索引,而不是手动设置索引,以确保一致地定义您的设置、映射和别名。
要管理您的索引,请转到 Management > Elasticsearch > Index Management 。
如果启用了安全性,您必须具有 monitor 集群权限 view_index_metadata 和 manage 索引权限才能查看数据。对于索引模板,您必须具有 manage_index_templates 集群权限。有关详细信息,请参阅 安全权限 。
在使用此功能之前,您应该熟悉索引管理 *** 作。请参阅 索引管理 API 和 索引模板 API 。
当您打开 Index Management 时,您会看到已配置索引的概览。标记指示索引是否已 冻结 、 关注者索引 或 汇总索引 。
单击标记会将列表缩小到仅该类型的索引。您还可以使用搜索栏过滤您的索引。
您可以深入每个索引以调查索引 设置 、 映射 和统计信息。从此视图中,您还可以编辑索引设置。
使用“ 管理 ”菜单执行索引级 *** 作。此菜单在索引详细信息视图中可用,或者当您在概览页面上选中一个或多个索引的复选框时可用。该菜单包括以下 *** 作:
索引模板定义了 可以在创建新索引时自动应用的 设置 、 映射 和 别名。 Elasticsearch 根据与索引名称匹配的索引模式将模板应用于新索引。
Index Templates 视图列出了您的模板,并允许您检查、编辑、克隆和删除它们。您对索引模板所做的更改不会影响现有索引。
如果您没有任何模板,您可以使用 创建模板 向导创建一个。索引模板在索引创建期间应用,因此您必须在创建索引之前创建模板。
在此示例中,您将为随机生成的日志文件创建一个索引模板。
打开 创建模板 向导,然后 logs_template 在 名称 字段中输入。将 索引模式 设置为, logstash 以便模板匹配具有该索引模式的任何索引。合并顺序和版本都是可选的,在此示例中您将它们留空。
创建模板 向导的第二步允许您定义索引设置。这些设置是可选的,本示例跳过此步骤。
日志数据集需要映射以通过应用 geo_point 类型将纬度和经度对标记为地理位置。在向导的第三步中,按如下方式定义此映射:
第四步,定义一个别名logstash
模板摘要在步骤 5 中。如果一切正常,请单击创建模板。
此时,您已准备好使用 Elasticsearch 索引 API 加载日志数据。在 Kibana Console中,索引两个文档:
映射和别名是根据模板自动配置的。 要进行验证,您可以使用索引 API 查看新创建的索引之一。
solution:
重建索引,在建新索引时候做字段的迁移,达到修改index/mapping目的
字段迁移
ref: >
以上就是关于Elasticsearch(ES)创建索引全部的内容,包括:Elasticsearch(ES)创建索引、ES 索引解析(倒排索引 | 正排索引)、elasticsearch基本查询笔记(三)-- es查询总结等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)