随笔分类 - 08-ElasticSearch
1
摘要:API Demo 查数量 //count:数量 { var countResponse1 = client.Count<ElasticUserModel>(c => c.Index("index13")); var countResponse2 = client.Count<ElasticUserM
阅读全文
摘要:API Demo 索引(添加) var settings = new ConnectionSettings(new Uri("http://****:9200/")).DefaultFieldNameInferrer(name => name); var client = new ElasticCl
阅读全文
摘要:NEST映射方式 自动映射(从POCO属性类型推断) 在创建索引或通过Put Mapping API创建映射时,NEST提供了一个称为自动映射的功能,可以从您正在映射的CLR POCO属性类型自动推断出正确的Elasticsearch字段数据类型。 //自动映射(AutoMap()) { var s
阅读全文
摘要:介绍 Elasticsearch 官方为 .NET 提供了 2 个官方客户端库:Elasticsearch.Net 和 NEST。 Elasticsearch.Net 和 NEST 对比说明: 可以简单理解为 Elasticsearch.Net 是 NEST 的一个子集。 NEST 内部使用了 El
阅读全文
摘要:索引API 获取索引 var settings = new ConnectionSettings(new Uri("http://****:9200/")); var client = new ElasticClient(settings); { var getIndexResponse = cli
阅读全文
摘要:索引名称推断 //索引名推断的3种方式 { var connectionSettings = new ConnectionSettings(new Uri("http://123.56.57.211:9200")); //方式1、默认索引库 connectionSettings.DefaultInd
阅读全文
摘要:ConnectionSettings DefaultFieldNameInferrer: 指定如何从 CLR 属性名推断字段名称。默认情况下,NEST 使用 camel 命名方式,如在 CLR 中声明的属性名为 EmailAddress,将会被推断为 emailAddress 作为 ES 文档的字段
阅读全文
摘要:管道处理器 管道中包含多个处理器,管道中具体的处理逻辑取决于处理器。可以在创建管道时指定处理器: PUT _ingest/pipeline/test_pipeline { "processors": [ { "set": { "field": "des", "value": "管道默认数据" } }
阅读全文
摘要:# 摄取节点(ingest) ES集群中存在一个摄取节点,在数据保存到文档索引之前,我们可能需要对文档进行预处理,而摄取节点会拦截这些请求,根据需要将文档中的内容进行处理然后传递回索引或者API中。 例如,您可以使用管道来移除字段、从文本中提取值以及丰富数据。 #### 摄取节点的配置: 默认配置下
阅读全文
摘要:中文分析器 IK(推荐)、jieba、THULAC 英文我们可以按照空格将一句话、一篇文章进行分词,然后对分词进行过滤,最后留下有意义的词。中文的一句话是没有空格的,这就要有一个强大的中文词库,当你的内容中出现这个词时,就会将这个词提炼出来。 查看分词器的分词结果(ik分词器有两种ik_smart、
阅读全文
摘要:介绍 当Elasticsearch在文档中检测到新字段时,会自动确定字段的数据类型,并自动把新字段添加到映射的过程称为动态映射。 如果启用了动态字段映射,Elasticsearch采用一些规则来确定JSON字段对应的数据类型,规则包括动态字段映射(Dynamic field mappings)和动态
阅读全文
摘要:使用场景 用于解决复杂业务问题,如:自定义字段、自定义评分、自定义更新、自定义聚合分析等 缺点 性能问题。官方文档性能优化中明确指出使用脚本会导致性能低; 如非必要,不要使用脚本,尽量用其他方式替换,如下: 使用脚本进行前缀查询: 1POST seats/_search 2{ 3 "query":
阅读全文
摘要:概述 聚合查询,它是在搜索的结果上,提供的一些聚合数据信息的方法。比如:求和、最大值、平均数等。 基本语法 GET <index_name>/_search { "aggs": { "<aggs_name>": { // 聚合名称需要自己定义 "<agg_type>": { "field": "<f
阅读全文
摘要:文本分析器(Text analysis) 在ES当中,只有text类型的字段才会用到全文索引。我们在建立索引和搜索时,都会用到分析器。 分析器使ES支持全文索引,搜索的结果是和你搜索的内容相关的,而不是你搜索内容的确切匹配。 分析器之所以能够使搜索支持全文索引,都是因为有分词器(tokenizati
阅读全文
摘要:简介 查询有两种方式: QueryString查询 通过query参数传递查询语句(?q=name:zhangsan) DSL查询 通过DSL语句查询,可以写出灵活复杂的查询语句,语言以json请求体的形式出现 查询响应信息说明 { "took" : 346, // 整个检索消耗的时间, 单位是毫秒
阅读全文
摘要:添加文档: 添加单个文档 POST index1/user/1000 { "id":1001, "name":"张三", "age":20, "sex":"男" } 如果不指定id,将随机生成一个,id的字段名是_id 删除文档: 删除指定id的文档 DELETE /blog/article2/1
阅读全文
摘要:概念 Mapping(映射)用来定义文档包含的字段名、字段数据类型以及文档如何存储和索引这些字段的规则 显式映射 & 动态映射 显式映射 显式映射以完全控制字段的存储和索引方式。 显式映射的意义: 哪些字符串字段应该作为全文字段(text)处理。 哪些字段包含数字、日期或地理位置。 日期值的格式。
阅读全文
摘要:索引 查看全部索引 GET _cat/indices?v&pretty health:当前服务器健康状态: green(集群完整) yellow(单点正常、集群不完整) red(单点不正常) status:索引打开、关闭状态 index:索引名 uuid:索引统一编号 pri:主分片数量 rep:副
阅读全文
摘要:中文分词器: IK(推荐)、jieba、THULAC 查看分词器的分词结果(ik分词器有两种ik_smart、ik_max_word): http://127.0.0.1:9200/_analyze?analyzer=standard&text=内容 GET http://127.0.0.1:920
阅读全文
摘要:概述 目的是使全文检索变得简单,能够达到实时搜索,稳定,可靠,使用简单方便 ES是一个基于Lucene构建的搜索引擎,隐藏了 Lucene 的复杂性。 分布式、易扩展、高可用、高实时的搜索与数据分析引擎 基于RESTful web接口 它用 Java 编写的 易扩展:指的是增加服务器节点,ES会分片
阅读全文
1

浙公网安备 33010602011771号