
search engine
文章平均质量分 75
一座青山
搜索引擎-sf1r
数据结构与算法
,数据库,大数据分析
数据挖掘,个性化搜索,机器学习
展开
-
搜索引擎系列1:什么是正向索引?什么是倒排索引?
什么是正向索引、什么是倒排索引?正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置,得到正向索引的结构如原创 2015-07-10 11:05:32 · 6841 阅读 · 1 评论 -
elasticsearch中版本号(version)的问题
今天在分析ES的索引的创建过程中看到了些和version相关的变量(例如:versionForIndexing)。这些个变量是干什么的呢? 答:用于冲突处理的。 在ES的应用场景中,使用index API更新文档,可以一次性读取原始文档,做修改,然后重新索引整个文档,最近的索引请求将获胜:无论最后哪一个文档被索引,都将唯一存储在ElasticSearch中,如果其他人同时更改了...原创 2018-04-18 20:27:28 · 25363 阅读 · 2 评论 -
elasticsearch 分析器
一、Elasticsearch的分析器(analyzer)包括三部分: 1、字符过滤器:他们的任务是在分词前整理字符串。一个字符过滤器可以用来去掉HTML,或者将 & 转化成 `and`等。 2、分词器:简单的分词器遇到空格或标点的时候讲文本拆分为词条(Token)。 3、Token过滤器:改变词条(eg: Quick --> quick);删除词(eg: a ,t...原创 2018-04-17 17:41:22 · 523 阅读 · 0 评论 -
IntelliJ IDEA中Elasticsearch 6.1.0调试环境搭建
环境:Windows(注:很多ES调试环境的搭建都是Mac,可惜没钱买macbook pro)1、我的目的:阅读分析ES的源码。2、搭建debug环境需要的软件为:2.1、git2.2、IntelliJ IDEA2.3、gradle2.4、elasticsearch 6.1.0源码。 2.5、elasticsearch 6.1.0官方发布的可运行版本。3、搭建步骤(为了有IDE阅读代码,...原创 2018-04-08 20:07:32 · 3466 阅读 · 1 评论 -
Logstash的使用
现在有一个“用户画像”的项目;前期需要搭建一个ElasticSearch的集群用来存储用户的行为数据;在搭建好ES的集群后,导入数据到ES是一个问题,采用的是Logstash进行数据导入;现将Logstash使用过程中碰到的问题记录如下:1. 刚刚接触Logstash,对各个参数都不熟悉,需要多次试验。但是最后发现,指定一个文件后,Logstash只读取一次,如果需要读取多次需要添加参数sin原创 2017-07-19 15:15:22 · 1090 阅读 · 0 评论 -
分词算法
1.正向最大匹配算法基于词典的正向最大匹配算法(最长词优先匹配),算法会根据词典文件自动调整最大长度,分词的好坏完全取决于词典。 算法流程图如下:以上内容参见:http://yangshangchuan.iteye.com/blog/2031813此文章还对比了linked list、array、trie树和hash table的方式实现正向最大原创 2017-03-30 16:33:41 · 979 阅读 · 0 评论 -
搜索引擎中开发diversity功能时遇到的一个问题。
问题:作为一个商品集合平台的搜索引擎,在用户输入关键到得到排完序的搜索结果时,多数会面临一个问题,就是一整页的商品都是来自一个商家,全是京东的,或是全是天猫的,或是淘宝的,或是6pm的或是xxx的,……。需求:面对这个问题就诞生了我们的需求,就是将这些个相关性最高的商品再次以商家的维度进行打散!现有系统的设计:现有系统设计了一个基类:ProductScoreEvaluator,原创 2016-08-08 12:15:16 · 600 阅读 · 0 评论 -
How to Write a Spelling Corrector
How to Write a Spelling Corrector原文链接:http://norvig.com/spell-correct.html;One week in 2007, two friends (Dean and Bill) independently told me they were amazed at Google's spelling correction.转载 2017-01-20 11:25:00 · 1227 阅读 · 0 评论 -
文本相似度-BM25算法
最近两天在debug搜索引擎的一个bug,在关键词运营时,将某个商品以运营的方式索引进搜索引擎后,在搜索特定的某个关键词时,该商品的排名会提升到最前边,但是在系统重新启动后,发现运营的商品不能排到前列。重新索引进去再搜索就可以排在前列。经过debug,发现在BM25算法计算得分时avgPropLength的值是一个e-5级别的值。原因是只有我试验的极个别文档含有运营的字段,从而导致avgP原创 2016-08-02 19:55:43 · 9901 阅读 · 0 评论 -
TF-IDF及其算法
概念 TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用转载 2016-09-05 15:37:41 · 105454 阅读 · 7 评论 -
怎样量化评价搜索引擎的结果质量
转载自:http://www.cnblogs.com/scnucs/archive/2012/10/10/2718503.html搜索质量评估是搜索技术研究的基础性工作,也是核心工作之一。评价(Metrics)在搜索技术研发中扮演着重要角色,以至于任何一种新方法与他们的评价方式是融为一体的。 搜索引擎结果的好坏与否,体现在业界所称的在相关性(Relevance)上。相关性的转载 2016-09-05 12:00:47 · 18562 阅读 · 0 评论 -
了解搜索引擎技术
转载自:http://www.cnblogs.com/gaoweipeng/archive/2009/09/20/1570357.html了解搜索引擎技术此文纯理论知识,很不错的搜索引擎的资料。搜索引擎的定义搜索引擎是传统IR技术在Web环境中的应用。一般来说,搜索引擎是一种用于帮助用户在Internet上查询信息的搜索工具,它以一定的策略在Internet转载 2015-07-10 14:36:16 · 698 阅读 · 0 评论 -
ES创建索引的过程
ES中创建索引的详细分析总览ES 创建索引最终都会调用 org/elasticsearch/index/engine/InternalEngine.java 中下面的方法:public IndexResult index(Index...原创 2018-05-12 11:40:11 · 13397 阅读 · 0 评论