query 改写

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

阅读全文

阶段性总结

博客断断续续的在更着,总是想写总是找不到合适的时间。 做了那些事情 搜索 用 solr 将公司的搜索系统重构了一遍,但是感觉很有成就感,但现在看来真的很 low ,当然好的架构是简单高效的,但是对于搜索用 job 的方式去同步真的很 low ,而且性能很差。搜索是商品展示的关键,为什么要用 job 的方式去同步,这是领导决定的……

阅读全文

操作系统作用

操作系统作用 1、资源管理者 都能管理什么? 自底向上 对于操作系统内部来讲 硬件资源 像 CPU 、内存、设备(输入输出设备、磁盘、时钟、网卡) 软件资源 磁盘上的文件,各类管理信息 如何管理 跟踪记录资源的使用情况 确定资源的分配策略 实施资源的分配与回收 提高资源利用率 保护资源的使用 协调多个进程对资源的请求……

阅读全文

Consideration make three pointers , pre,current,next; initial pre as null use tmp to save current’s next node info change current’s next to link pre node(first is null) move pre pointer to next node move current pointer to next node soultion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNode head) { ListNode pre = null; ListNode current = head; while (current != null){ ListNode next = current.next; current.next = pre; pre = current; current = next; } return pre; } }……

阅读全文

hamming-distance

The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Given two integers x and y, calculate the Hamming distance. Note: 0 ≤ x, y < 231. Example: Input: x = 1, y = 4 Output: 2 Explanation: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ The above arrows point to positions where the corresponding bits are different. Consideration This problem is also have a relationship with ‘^’ , Think about it : 1(0001) and 4(0100) their Xor is 5(0101) . next we use & Operator to calculate the number of 1 , let the binary & 1 ,if result is 1 ,sum’s up , use » to move the postion. 5(0101) 0&1 = 0 pass 01&01 = 1 sum 010&001 = 0 pass 0101&0001 = 1 sum……

阅读全文

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 分片,……

阅读全文

技术选型怎么做

技术选型包括哪些 从个人观点出发,技术选型包括框架、工具、语言。 需要考虑的点 公司规模 团队技术水平 时间和成本 生态 风险 公司规模 小公司 对于初创公司或者小公司来讲,上级领导的意愿更多的是能够快速盈利,此时应该选择成熟便捷的框架, 尽量减少学习成本,这就属于经验优先,因为只有做出成品并且盈利,……

阅读全文

条件概率、全概率与贝叶斯公式

条件概率公式 设事件A 发生的概率为 P(A), 事件B 发生的概率为 P(B),则在事件B发生的情况下事件A发生的概率(A given B 的概率)为: $$ P(A|B)=\frac{P(AB)}{P(B)} $$ 全概率公式 如果直接求事件A 的概率比较困难的时候,可以将事件A发生的概率分成一个个小的事件B的概率 $$ P(A)=\sum \limits_n{P(B_{n})P(A|B_{n})} $$ 贝叶斯公式 $$ P(B_{n}|A)=\frac{P(A|B_{n})P(B_{n})}{\sum \limits_n P(A|B_{n})P(B_{n})} $$……

阅读全文