
ES
云川之下
这个作者很懒,什么都没留下…
展开
-
Elasticsearch数据刷新策略RefreshPolicy简述
说明默认情况下ElasticSearch索引的refresh_interval为1秒,这意味着数据写1秒才就可以被搜索到。每次索引refresh会产生一个新的 lucene 段,这会导致频繁的 segment merge 行为,对系统 CPU 和 IO 占用都比较高。如果产品对于实时性要求不高,则可以降低刷新周期,如:index.refresh_interval: 120s。但是这种特性对于功能测试来说比较麻烦:因为实时性不能保证,所以每次插入测试数据之后,都需要sleep一段时间,才能进行测试转载 2020-09-30 10:35:16 · 5427 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Full text queries -- Match Query
Match Query匹配查询可以接受文本、数字及日期数据,进行分析然后构造查询。GET /_search{ "query": { "match" : { "message" : "this is a test" } }}注意:message是字段名称,你可以替换任何字段的名称。match查询会先对搜索词进行分词,分词完毕后再逐个对分词结果进行匹配,因此相比于term的精确搜索,match是分词匹配搜索,match搜索还翻译 2020-09-02 20:13:24 · 263 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Full text queries
Elasticsearch:权威指南6.8.6目录文章目录Full text queriesFull text queries高级别的全文搜索通常用于在全文字段(例如:一封邮件的正文)上进行全文搜索。它们了解如何分析查询的字段,并在执行之前将每个字段的分析器(或搜索分析器)应用于查询字符串。查询分类:match query用于执行全文查询的标准查询,包括模糊匹配和词组或邻近程度的查询match_phrase query与 match query类似,但是是用于更加精确的匹配相似的词组或单词翻译 2020-09-02 18:17:30 · 167 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Match All Query
Elasticsearch:权威指南6.8.6目录文章目录Match All QueryMatch All Query最简单的查询,它匹配所有文档,_score默认 值为固定值 1.0。GET /_search{ "query": { "match_all": {} }}可以通过boost改变_score的值:GET /_search{ "query": { "match_all": { "boost" : 1.2 } }翻译 2020-09-02 17:02:39 · 353 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Term-level queries --Wildcard Query
Elasticsearch:权威指南6.8.6目录文章目录Wildcard Query例子参数valueboostrewriteWildcard Query返回包含与通配符模式匹配的词语的文档。通配符运算符是匹配一个或多个字符的占位符。 例如,*通配符运算符匹配零个或多个字符。 您可以将通配符运算符与其他字符结合使用以创建通配符模式。例子下面例子可以匹配 kiy, kity, 或 kimchy.GET /_search{ "query": { "wildcard":翻译 2020-09-02 14:06:00 · 356 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Term-level queries --Terms Query
文章目录Terms Query(多项条件精确匹配)Terms lookup(多项)查找机制terms lookup 查询例子Terms Query(多项条件精确匹配)过滤具有与任何提供的多项条件词语(未分析)匹配的字段的文档。 例如:GET /_search{ "query": { "terms" : { "user" : ["kimchy", "elasticsearch"]} }}terms和term意思相近,从字面意思可以知道是多个条件。可以先初步理解为翻译 2020-09-02 10:35:24 · 474 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Term-level queries --Term Query
文章目录Term Query(精确词查询)为什么term query会匹配不到数据Term Query(精确词查询)精确词查询查找倒排索引中指定的精确词的文档。 例如:精确词查找特指keyword类型数据,未经分词处理。POST _search{ "query": { "term" : { "user" : "Kimchy" } //查询user字段并且值为Kimchy的文档 }}注意:这里的Kimchy中的K是大写的,在《Elasticsearch:权威指南》Do翻译 2020-08-31 20:05:09 · 230 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Term-level queries
Elasticsearch:权威指南6.8.6目录文章目录Term-level queries (术语级查询)Types of term-level queriesTerm-level queries (术语级查询)您可以使用 term-level queries(术语级查询)并根据结构化数据中的精确值查找文档。 结构化数据的示例包括日期范围,IP地址,价格或产品ID。与 full-text queries (全文查询) 不同,term-level queries(术语级查询)不分析搜索词。 而是翻译 2020-08-12 11:29:00 · 198 阅读 · 0 评论 -
《Elasticsearch:权威指南》Query DSL -- Query and filter context
查询子句的行为取决于在 query context 中还是在 filter context中使用它:Query contextquery context'中使用的查询子句回答以下问题:“此文档与该查询子句的匹配程度如何?” 除了确定文档是否匹配之外,查询子句还计算一个_score,该 _score 表示文档相对于其他文档的匹配程度。只要将查询子句传递到query参数(例如search API中的query参数),query context'就有效。Filter context 在filte转载 2020-08-11 21:02:51 · 206 阅读 · 0 评论 -
《Elasticsearch:权威指南》Mapping -- Field datatypes -- Object datatype
文章目录Object datatype(对象数据类型)object字段的参数Object datatype(对象数据类型)JSON文档本质上是分层的:文档包含内部对象,内部对象本身还包含内部对象:PUT my_index/_doc/1{ // 外层的文档也是是 JSON 对象 "region": "US", "manager": { //包含称为 manager 的内部对象 "age": 30, "name": { //manager 对象还包含一个内部对翻译 2020-08-10 16:28:13 · 264 阅读 · 0 评论 -
《Elasticsearch:权威指南》Mapping -- Mapping parameters -- fields(multi-fields)
虽然原文名称是fields,单主要是描述multi-fields文章目录fields(字段)Multi-fields with multiple analyzers(多分析器处理多字段)fields(字段)我们经常会因为不同的目的将同一个字段用不同的方式索引。这就相当于实现了 multi-fields。例如,一个 string 类型字段可以被映射成 text 字段作为 full-text 进行搜索,同时也可以作为 keyword 字段用于排序和聚合:为了解释上面的原文,我先举个自己的例子,这样对比就翻译 2020-08-10 15:46:34 · 1046 阅读 · 0 评论 -
《Elasticsearch:权威指南》Indices APIs -- Put Mapping(定义和修改mapping)
文章目录Put Mapping(设置映射)Multi-index(多索引)Skipping typesPut Mapping(设置映射)格式:PUT /{index}/_mapping/{type}PUT mapping API 允许您将字段添加到现有索引或仅通过修改已存在字段的设置来改变搜索结果。PUT twitter // 创建一个名叫 twitter 的索引,未指定mapping{}PUT twitter/_mapping/_doc { "properties": {翻译 2020-08-10 11:17:00 · 2506 阅读 · 0 评论 -
Elasticsearch 技术分析(二): 索引映射Mapping问题
文章目录什么是映射?字段类型核心数据类型复杂数据类型Geo数据类型专用数据类型多字段映射动态映射日期检测数字检测静态映射(显式映射)什么是映射?数据库建表的时候,我们的DDL语句一般都会指定每个字段的存储类型,例如:varchar,int,datetime等等,目的很明确,就是更精确的存储数据,防止数据类型格式混乱。CREATE TABLE `shop_` ( `id_` varchar(36) NOT NULL COMMENT 'id', `shop_name_` varchar(50) D转载 2020-08-07 17:48:47 · 613 阅读 · 0 评论 -
《Elasticsearch:权威指南》Search APIs -- URI Search
《Elasticsearch:权威指南6.8.6目录》文章目录URI SearchParametersURI Search通过提供请求参数,可以纯粹使用URI执行搜索请求。 使用此模式执行搜索时,并非所有搜索选项都公开,但是对于快速的“curl tests”而言,它可能很方便。 这是一个例子:GET twitter/_search?q=user:kimchy返回值:{ "timed_out": false, "took": 62, "_shards":{翻译 2020-08-01 19:14:03 · 391 阅读 · 0 评论 -
Elasticsearch 技术分析(一): 基础入门
文章目录简介版本选择环境搭建安装 Elasticsearch运行 Elasticsearch可视化 web 界面elasticsearch-head基本概念集群(Cluster)节点(Node)索引(Index)类型(Type)文档(Document)分片(Shards)副本(Replicasedit)小结与Elasticsearch交互数据格式简介Elasticsearch是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据,并支持多租户转载 2020-08-01 18:45:58 · 293 阅读 · 0 评论 -
《Elasticsearch:权威指南》Search APIs -- Search(搜索)
《Elasticsearch:权威指南6.8.6目录》翻译 2020-08-01 15:28:18 · 201 阅读 · 0 评论 -
《Elasticsearch:权威指南》cat APIs -- cat indices(查看索引信息)
文章目录cat indicesPrimaries示例哪些索引状态是 yellow ?哪个索引的文件数最多?指定显示哪些列每一个索引使用了多少内存?参数解释cat indicesindices 命令提供了每一个索引的 cross-section(横截面信息)。这些信息跨越了多个节点。官网例子本地执行失败和s=index有关:GET /_cat/indices/twi*?v&s=index //官网例子本地执行失败和s=index有关改造的例子:GET /_cat/indices/tw翻译 2020-07-31 19:16:38 · 17532 阅读 · 0 评论 -
ES partial update(部分更新文档的使用)
1 什么是partial update1.1 全量修改文档的原理全量修改文档的语法: PUT index/type/1, 如果id=1的文档不存在, 则创建, 如果存在, 将发生替换原有文档的操作PUT test/_doc/1{ "counter" : 1, //有2个属性,counter和tags "tags" : ["red"]}PUT test/_doc/1{ "counter" : 2 //尝试覆盖}查询此时document结果结果:转载 2020-07-30 10:22:51 · 800 阅读 · 0 评论 -
《Elasticsearch:权威指南》Document APIs -- Update API
更新API允许根据提供的script来更新文档。 该操作从索引中获取文档(与分片并置),运行script(具有可选的脚本语言和参数),并重建索引(还允许删除或忽略该操作)。 它使用版本控制来确保在“获取”和“重新索引”期间未发生任何更新。请注意,此操作仍然意味着对文档进行完全重新索引,它只是消除了一些网络往返,并减少了获取和索引之间版本冲突的可能性。 需要启用_source字段,此功能才能起作用。例如,让我们为一个简单的文档编制索引:PUT test/_doc/1{ "counter" :翻译 2020-07-29 20:15:11 · 425 阅读 · 0 评论 -
《Elasticsearch:权威指南》Document APIs -- Bulk API
Bulk API,能够在一个单一的API调用执行多项索引/删除操作。这可以大大提高索引速度。该 REST API 端点 /_bulk,它遵循JSON结构:action_and_meta_data\n //首行action参数optional_source\n //第二行为source参数action_and_meta_data\noptional_source\n....action_and_meta_data\noptional_source\n注意:数据翻译 2020-07-29 11:19:42 · 308 阅读 · 0 评论 -
《Elasticsearch:权威指南》Document APIs -- Get API
Get APIget api 允许从一个基于其id的 index 中获取一个 JSON格式的 document,下面的示例是从一个在名称为tweet的 type 下的id为0,名称为 _doc 的 index 中获取一个JSON格式的 document。GET twitter/_doc/0以上 get 操作的结果如下:{ "_index" : "twitter", "_type" : "_doc", "_id" : "0", "_version" : 1,翻译 2020-07-28 11:11:29 · 213 阅读 · 0 评论 -
ES stored fields作用
get 操作允许指定一系列的 stored 字段,这些字段将会被返回通过传递stored_fields参数。如果请求的字段没有被储存,将会被忽略。参考以下示例:PUT twitter{ "mappings": { "_doc": { "properties": { "counter": { "type": "integer", "store": false //默认值就原创 2020-07-28 11:31:16 · 5871 阅读 · 1 评论 -
Elasticsearch-3.8.6 windows配置多节点
参考https://blog.youkuaiyun.com/ch999999999999999999/article/details/90731742原创 2020-07-27 21:45:37 · 206 阅读 · 0 评论 -
Detecting noop updates
更新文档有2中方式,索引 API和_update API。后者默认情况下,如果修改操作发现内容没有实质的变化,version不会递增。插入数据我们插入一条数据:PUT twitter/_doc/1{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch"}插入操作的返回值,version属性值为1:{"_index": "twitte原创 2020-07-27 21:23:53 · 863 阅读 · 0 评论 -
《Elasticsearch:权威指南》Document APIs -- Index API
索引 API 在特定索引中 add ( 添加 ) 或 update ( 更新 ) a typed JSON document ( 类型化的 JSON 文档 ),使其可搜索。以下示例将 JSON 文档插入到 “twitter” 索引中,type 为 _doc ,ID 为1 :PUT twitter/_doc/1{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elast翻译 2020-07-27 20:34:27 · 236 阅读 · 0 评论 -
《Elasticsearch:权威指南》Document APIs -- Reading and Writing documents(读写前言)
概述Elasticsearch中的每个索引都分为多个碎片,每个碎片可以有多个副本。这些副本称为复制组,添加或删除文档时必须保持同步。如果我们不这样做,那么从一个副本中读取的结果将与从另一个副本中读取的结果截然不同。使分片副本保持同步并提供对它们的读取服务的过程就是我们所说的数据复制模型。Elasticsearch的数据复制模型基于主备份模型,并且在Microsoft Research的PacificA论文中进行了很好的描述。该模型基于复制组中的一个副本作为主要分片。其他副本称为副本碎片。主目录充当所有索翻译 2020-07-27 14:29:22 · 211 阅读 · 0 评论 -
《Elasticsearch:权威指南》Getting started with Elasticsearch -- Start searching开始搜索
将一些数据放入到Elasticsearch索引后,您可以通过将请求发送到_search端点来进行搜索。 要访问全套搜索功能,请使用Elasticsearch Query DSL在请求正文中指定搜索条件。 您可以在请求URI中指定要搜索的索引的名称。例如,以下请求将检索银行索引中按帐号排序的所有文档:GET /bank/_search{ "query": { "match_all": {} }, "sort": [ { "account_number": "asc" } ]}默翻译 2020-07-27 10:52:05 · 228 阅读 · 0 评论 -
Elasticsearch:权威指南6.8.6目录
文章目录Getting started with Elasticsearch(基础入门)Index some documents([索引文档](https://editor.youkuaiyun.com/md?articleId=107579880))Getting started with Elasticsearch(基础入门)Index some documents(索引文档)原创 2020-07-25 18:04:16 · 1164 阅读 · 1 评论 -
《Elasticsearch:权威指南》Getting started with Elasticsearch -- Index some documents(索引文档)
索引一个文档集群启动并运行后,您就可以为一些数据建立索引了。 Elasticsearch有多种吞蚀选项,但最终它们都做同样的事情:将JSON文档放入Elasticsearch索引中。您可以通过一个简单的PUT请求直接执行此操作,该请求指定要添加文档的索引,一个唯一的文档ID,以及请求正文中的一个或多个“字段”:“值” 对:PUT /customer/_doc/1{ "name": "John Doe"}HEAD工具发送命令截图HEAD某些命令不会展示结果,比如_cat/indices翻译 2020-07-25 17:01:34 · 331 阅读 · 0 评论 -
WIndows 安装 ES 6.8.6与 ES-head插件设置
文章目录一、ES的安装1、到ES官网下载ES2、解压ES3、安装ES二、用head访问elasticsearch一、ES的安装1、到ES官网下载ES安装ES前,需要安装JDK1.8以上版本https://www.elastic.co/downloads/elasticsearch作者自己下载的是V6.8.62、解压ES3、安装ES打开bin目录下elasticsearch.bat4、验证进入 http://localhost:9200 出现如下页面代表成功{ "name" : "w原创 2020-07-18 17:30:21 · 1028 阅读 · 2 评论