分类 搜索 中的文章

Kubernetes 部署 Elasticsearch 和 Kibana

Elastic 官方提供了 QuickStart 让我们简单快速的在本地部署 ElasticSearch,基于 Kubernetes Operator 模式,自动化的部署应用。 当前验证版本: ECK 2.6 Mac Docker Desktop 4.15.0 Docker Engine: 20.10.21 Kubernetes: 1.25.2 部署ECK 安装 CRD(custom resource definitions) 1 kubectl create -f https://download.elastic.co/downloads/eck/2.6.1/crds.yaml 安装 Operator 1 kubectl apply -f https://download.elastic.co/downloads/eck/2.6.1/operator.yaml 监控 Operator 日志 1 kubectl -n elastic-system logs -f statefulset.apps/elastic-operator 部署 ElasticSearch 1 2 3 4 5 6 7 8 9 10 11 12 13 cat……

阅读全文

电商搜索技术总结

回顾 本篇文章我们针对于上文”电商搜索业务总结“中的业务需求进行拆解,并以技术角度进行分析。 对于关系好的商户我想把他们的品牌优先展示,增加曝光率 新上架一款商品,我想立即在平台上搜索到 当我使用具体款号搜索时,我希望只展示这一款的商品 我希望在搜索结果页中看到更多的品牌,而不是整页都是同……

阅读全文

电商搜索业务总结

在电商领域中,搜索和推荐是主要的流量入口,是每个电商平台不可或缺的部分,搜索功能是在用户明确意图下,尽可能的给其提供想要的商品,从而促成下单。本篇文章主要讲的是搜索的业务,涉及的技术方面将放到后面的章节中。 流量入口 以上品折扣这个网站为例,先来看一下电商搜索的入口都有哪些: 首页 首页……

阅读全文

电商搜索数据同步方案

前言 搜索系统主要分为两个部分一个是在线服务、一个是离线服务,在线服务是指排序、打分等靠近用户侧的部分,离线服务负责这篇文章属于离线部分范畴,本篇文章只是提供一个基础的思路,实际使用还需要适当调整和拓展。无论哪种方式都应该保证全量高吞吐、增量低延时的这个原则。 方案 定时任务主动拉取更……

阅读全文

tf-idf 算法

tf-idf (term frequence-inverse document frequence) 词频-逆文档频率,是搜索常用的一个权重相关算法,其作用是评估一个 document 在一整个 document list 中的重要程度,下面分开来讲。 term frequence tf 的意思就是一个词语在一个文件中出现的次数,对于一篇文章, tf 算法会将这篇文章进行分词并统计出现次数。这个词在这篇文章中出现的次数越多则说明越不重要,权重则越低。……

阅读全文

query 改写

什么是 query 改写 query 改写是搜索系统中最基础也是最重要的一个模块,简单来讲就是把用户输入的 keyword 转换成最贴近搜索系统内部的可识别的 keyword。 搜索引擎检索 keyword 的时候主要是匹配和排序,匹配也常常被称作“召回”,在搜索和推荐领域会有一个“召回率”的指标,在此不做展开。query 改写则会直接影响……

阅读全文

ElasticSearch API 基本操作

查看集群健康值 GET _cat/health?v 查看 node 信息 GET _nodes 查看索引信息 GET _cat/indices?v 创建索引 PUT /test?pretty 删除索引 DELETE /test?pretty 新建文档并建立索引 创建一个index为 ecommerce 的索引 PUT /ecommerce/_doc/1 { "product_id":1234, "product_name": "南极人", "price":99.9, "color":"Red", "tags":["轻松","舒服"] } PUT /ecommerce/_doc/2 { "product_id":5678, "product_name": &quo……

阅读全文

elasticsearch 集群容错

Q:有三台服务器,三个 Primary Shard怎么配置能使 ElasticSearch 达到高可用 在此之前应该先清楚 shard 、primary shard 、replica shard、node 的概念 还有 primary shard 在确定好个数后后期是无法更改的,能扩容的只有 replica shard。 三个 Primary Shard 的意思就是: 3 primary + 3 replica = 6 shard (默认情况下) 此时服务器的 node 分配如下: 一……

阅读全文

ElasticSearch 基础概念

documnet 文档,类似于 Java 的实体类,但非面向对象的,比实体类更加灵活。 index 索引,用来存放文档,一个索引可存放若干个 document type ElastcSearch 7 以后过时,使用 _doc 代替,预计在未来会移除 node 单个服务器,其实就是一个 ES 实例,多个 node 组成一个集群,node 能够进行索引和查询操作。默认每个 node 启动时会分配一个 UUID 作为标识。 shard 分片,……

阅读全文