转眼之间使用es已经快2年了,有一些自己工作中遇到的问题以及曾经存在的误区想记录分享一下
es作为分布式集群,在我看来,要使用es,可以分2个部分来看,一是数据导入,二是数据查询。
数据导入上,es支持copyto,这个和solr的copyfiled一样;es也支持多值,这个不用设置,直接传入多值即可;
遇到的问题:即时搜索----最开始直接使用prefix搜索,发现prefix在数据量大的情况下存在性能问题,然后开始查询资料之后发现可以使用边缘分词搜索,也就是英文分词之后再词条搜索,当然词条搜索肯定是比prefix要快的多。最近的话又发现原来suggest可以更快,但是还未经过测试。
filter搜索,这个稍微复杂点,大概提一下,分很多种,能用cache的是bool,post是结果中筛选,对于一些需要统计的场景很有用,但是比较损耗性能。and,or,not这3种比较损耗性能,但是在某些情况下也可以使用
filter缓存:使用bigset,利用lucene段不可变这个特性来实现及时有数据变动,也只需要构建新增段的数据对应的bigset。
分享到:
相关推荐
ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程ElasticSearch笔记教程Elastic...
- **浅谈搜索**:本章节简要介绍了搜索技术在各个行业的普遍需求及其重要性。它指出了当前搜索场景下的常见挑战,例如结果的相关性、拼写错误处理、搜索速度等方面,并探讨了这些需求如何推动了搜索引擎技术的发展。...
- **浅谈搜索**:本文档开篇介绍了搜索业务的一般需求,包括但不限于用户体验、搜索速度、准确性等方面的需求,并强调了Elasticsearch 在这些场景中的适用性。 #### 第二部分:Elasticsearch 的基本应用 - **增删改...
UES ELK 浅谈 ELK(Elasticsearch、Logstash、Kibana)是一套完整的集中式日志管理系统,它提供了一整套的解决方案,能够满足大规模的日志数据处理和分析需求。 ELK 简介 ELK 技术是由 Elasticsearch、Logstash ...
- **路由功能浅谈**:路由功能允许用户控制文档如何在分片之间分布,这对于实现一致性哈希等高级特性非常有用。 - **调整集群的分片分配**:通过手动调整分片的分配策略,可以在不同的节点间平衡负载,提高系统的...
### Padding Oracle攻击浅谈 #### 一、引言 随着互联网技术的发展,网络安全问题日益凸显。其中,Padding Oracle攻击作为一种常见的安全威胁,引起了广泛关注。2022年9月17日,微软发布了一则安全漏洞公告,指出其...
"浅谈嵌入式系统的发展现状和趋势" 嵌入式系统作为计算机应用的一个重要领域,已深入到电子、自动控制领域等各个方面。本文首先介绍了嵌入式系统的分类以及特点等,论述了嵌入式系统当前发展的现状,并详细阐述了...
在JavaScript的世界,异步编程是不可或缺的一部分,尤其是在Node.js环境中,由于其单线程特性,异步处理显得尤为重要。Express作为Node.js中最受欢迎的Web服务器框架之一,自然而然地需要面对和处理各种异步操作。...
浅谈Java日志格式化 在软件开发中,日志是一个非常重要的数据,特别是在程序发生异常时,日志可以提供非常有价值的信息。但是,并不是打印的日志越多越好,我们需要的是有用的日志。下面我们来讨论一下Java日志格式...
### 浅谈J2me游戏如何快速移植到Android 对于许多从事J2ME开发工作的人员而言,可能会突然间面临一个紧迫的需求:那就是将原本在J2ME平台上的游戏移植到Android平台上。乍一看,这似乎是一项庞大且复杂的工程,但...
- 集中式日志收集:通过ELK栈(Elasticsearch、Logstash、Kibana)或Fluentd等工具收集分散的日志数据,便于统一管理和查询。 - 日志格式标准化:使用JSON等结构化格式存储日志,便于解析和分析。 2. **指标监控*...
10. **模块化**:使用模块系统(如CommonJS、ES Modules)组织代码,提高代码复用性和可维护性。 遵循这些编码规范,不仅可以提升JavaScript代码的可读性和可维护性,还能降低调试和维护成本,确保软件产品的长期...
然而,从13.2.0版本开始,Node.js默认启用了对ES模块的实验性支持,这表示开发者现在可以不需要任何额外的配置,就可以在Node.js项目中使用ES模块的语法。 ES Modules是ECMAScript 2015(ES6)引入的一种模块化标准...
专家系统ES的提出标志着人工智能理论研究与应用的转折点,它能够运用专业知识解决专业问题。专家系统由特定领域的专家提供知识和经验,其主要特点在于即使面对信息不完整、不确定的情况,也能够得出结论。专家系统的...
JavaScript 中的 call、apply、bind 方法详解 JavaScript 中的 call、apply、bind 方法是 Function 对象自带的三个方法,这三个方法的主要作用是转变函数中的 this 指向,从而可以达到“接花移木”的效果。...
这些标准定义了如误码秒(ES)、无误码秒(EFS)、严重误码秒(SES)和不可用秒(UAS)等关键性能参数。 误码测试通常通过误码测试仪来进行,这类设备针对E1信道设计,能测试并分析线路性能。E1传输信道可以存在于...
系统中,Elasticsearch被用来存储这些性能指标数据,它具备高效检索和存储大量结构化数据的能力,便于后续分析。同时,通过定制化的GUI或Grafana这样的可视化工具,可以将统计结果和实体处理追踪结果以直观的方式...
- **太沙基公式**: 通过设定滑动面并利用滑动土体的静力平衡条件推导出条形浅基础在垂直中心荷载作用下的极限承载力公式。 - **规范中的应用**: 《高层建筑岩土工程勘察规程》JGJ72—2004参照太沙基公式,在附录A中...
今年,ECMAScript 2019(简称ES2019)将会发布。 新功能包括Object.fromEntries(),trimStart(),trimEnd(),flat(),flatMap(),symbol对象的description属性,可选的catch绑定等。 好消息是这些功能已经在最新版本...