摘要:
1、什么是深度分页(Deep paging)? 1.1 ES中from+size分页 分页问题是Elasticsearch中最常见的查询场景之一,正常情况下分页代码如实下面这样的: GET order_2290w/_search { "from": 0, "size": 5 } 输出结果如下图: 很 阅读全文
摘要:
Elasticsearch核心概念 什么是搜索引擎? 全文搜索引擎 自然语言处理(NLP)、爬虫、网页处理、大数据处理 如谷歌、百度、搜狗、必应等等 垂直搜索引擎 有明确搜索目的的搜索行为 各大电商网站、OA、站内搜索、视频网站等 搜索引擎应该具备哪些要求? 面向海量数据,如何达到“搜索引擎”级别的 阅读全文
摘要:
elasticsearch--分布式原理 1、单机服务有哪些问题 单机服务性能有限 可用性差 维护不便 2、分布式的好处 高可用性:集群可容忍部分节点宕机而保持服务的可用性和数据的完整性 易扩展:当集群的性能不满足业务要求时,可以方便快速的扩容集群,而无需停止服务。 高性能:集群通过负载均衡器分摊并 阅读全文
摘要:
elasticsearch-索引的批量操作 批量查询和批量增删改 批量查询 GET /_mget 批量写入: OST /_bulk POST /<index>/_bulk {"action": {"metadata"}} {"data"} 注意: bulk api对json的语法有严格的要求,除 阅读全文
摘要:
elasticsearch-模糊查询和智能搜索推荐 prifix前缀搜索 wildcard通配符 regexp正则表达式 fuzzy模糊查询 match_phrase_prefix短语前缀 以及前缀中缀后缀的搜索优化方案(ngram edge gram) 阅读全文
摘要:
数据建模 嵌套类型:Nested nested属于object类型的一种,是Elasticsearch中用于复杂类型对象数组的索引操作。Elasticsearch没有内部对象的概念,因此,ES在存储复杂类型的时候会把对象的复杂层次结果扁平化为一个键值对列表。 比如: PUT my-index-000 阅读全文
摘要:
脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能,ES支持多种脚本语言,如painless,其语法类似于Java,也有注释、关键字、类型、变量、函数等,其就要相对于其他脚本高出几倍的性能,并且安全可靠,可以用于内联和存储脚本。 阅读全文