搜索引擎
yichudu
code anything
展开
-
模拟退火 算法
http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html原创 2014-07-07 15:42:29 · 942 阅读 · 0 评论 -
【lucene】 field->term的分析过程
1.简述分析(analysis),在lucene中指的是将域(Field)转换成最基本的索引表示单元——项(Term)的过程。项的值称为语汇单元(token)。对于英文来说,这个过程历经了提取单词、去除标点、字母转小写、去除停用词、词干还原等。对应关系见图1-1.图1-1 field与term的对应关系图示2.lucene 的分析器lucene内置有Whitespa原创 2016-05-27 14:36:50 · 4245 阅读 · 1 评论 -
Luke lucene索引工具箱
项目地址:http://www.getopt.org/luke/或 https://code.google.com/archive/p/luke/1.简介Luke is a handy development and diagnostic tool, which accesses already existing Lucene indexes and allows you to dis原创 2016-04-29 10:36:45 · 1229 阅读 · 1 评论 -
lucene Collector 文档收集器
编写自定义的Colletor,可以对搜索返回的文档实现更精确的控制。1.接口与父类org.apache.lucene.search.Collector原创 2016-05-31 13:21:19 · 2568 阅读 · 0 评论 -
Lucene 6.0 索引结构
1.复合文件索引该模式是默认的。1.1 目录结构1.2 _x.cfe1.3 _x.cfs1.4 _x.si2.多文件索引IndexWriterConfig org.apache.lucene.index.IndexWriterConfig.setUseCompoundFile(boolean useCompoundFile)调用此函数可以设为多文件索引模原创 2016-05-16 20:03:40 · 3098 阅读 · 0 评论 -
lucene Sort 文档排序
1.Sortorg.apache.lucene.search.Sort封装排序标准的类。2.SortFieldorg.apache.lucene.search.SortField类,代表用于排序的Field。此field必须被索引。org.apache.lucene.search.SortField.Type内部静态枚举,表示排序的类型,如相关性分数排序、文档号排序原创 2016-06-03 14:09:58 · 2167 阅读 · 0 评论 -
lucene 6.0 常用类与方法
常用类简介Directory 指定索引所在目录FSDirectory 存放于磁盘上的文件系统RAMDirectory 存放于内存中的目录,用于测试等用途如Directory directory=FSDirectory.open(new File("filePath"));IndexReader 读索引,依靠Directory类初始化如 IndexReader reade原创 2014-11-08 19:32:13 · 4756 阅读 · 0 评论 -
lucene 文档评分 及 CustomScoreQuery
1.评分2.解释org.apache.lucene.search.Explanation类,用于解释评分细节。String org.apache.lucene.search.Explanation.toString()文本格式输出。String org.apache.lucene.search.Explanation.toHtml()html格式输出。例子见图2原创 2016-05-31 19:52:59 · 1284 阅读 · 0 评论 -
lucene 范围查询及其原理
适用于lucene 6.0。Int类型的有IntPoint,Double类型的有相应的DoublePoint,以此类推。1.相关类org.apache.lucene.document.IntPoint一个被索引的int类型的field。可以代表n维形状,可以范围搜索。org.apache.lucene.document.IntPoint.IntPoint(String name原创 2016-07-12 11:32:57 · 4786 阅读 · 1 评论 -
lucene 过滤
1.思想为命中文档计算评分需要一定的计算资源,若能够预先过滤掉一部分文档,可以提升性能。2.相关类Lucene 5 以前是有Filter这个类的,可以用于IndexSearcher.search(Query,Filter)方法的。但Lucene 6中取消了这个类。org.apache.lucene.search.BooleanClause.Occur.FILTER布尔查询中可以原创 2016-07-25 08:20:03 · 494 阅读 · 0 评论 -
lucence 文档评分公式
1.简介分值计算方式为查询语句query中每个项term与文档doc的评分之和。公式表示见1-1。 score(query,doc)=∑term∈queryscore(term,doc)(1-1)score(query,doc)=\sum _{term \in query} score(term,doc) \tag {1-1}2.term与doc的评分score(t,d)=tf(t,d)∗idf(原创 2016-06-01 11:18:01 · 965 阅读 · 0 评论 -
【lucene】 Query
1.简介lucene支持多种查询。2.BooleanQueryorg.apache.lucene.search.BooleanQuery.BuilderBooleanQuery的静态内部类,用于构建布尔查询。org.apache.lucene.search.BooleanQuery.Builder.Builder()默认构造函数。Builder org.apac原创 2016-05-12 15:18:09 · 534 阅读 · 0 评论 -
图数据库概述
1. 简介在数据结构中, 图是顶点(vertex)与边(edge)的集合. 顶点与边可以有各自的属性. 在互联网的个性化推荐、知识图谱、社交网络等场景下, 用图来存储数据是直观而高效的. 图的规模可以很大, 百亿个节点, 千亿个关系. 为了存储与查询这些关系, 图数据库(Graph Database)就诞生了. Graph Database at wiki-pedia举个例子看一下. 图1-原创 2017-06-14 16:40:41 · 5957 阅读 · 0 评论 -
lucene 查询语法
一、Lucene的查询语法Lucene所支持的查询语法可见http://lucene.apache.org/java/3_0_1/queryparsersyntax.html(1) 语法关键字+ - && || ! ( ) { } [ ] ^ " ~ * ? : \如果所要查询的查询词中本身包含关键字,则需要用\进行转义(2) 查询词(Term)Lucene支持两种查询词,原创 2015-07-16 13:36:24 · 1118 阅读 · 0 评论 -
Lucene 索引的并发读写
lucene能够很好地支持多线程/进程 访问。1.并发读一个索引可以被多个进程的IndexReader打开。一个进程中,推荐IndexReader被单例多线程使用。IndexReader类不仅是线程安全的,还是线程友好的,即友好地支持并发访问,代码中同步代码(synchronized)块并不多。2.单独写对于一个索引来说,一次只能打开一个IndexWriter。2.1原创 2016-05-24 18:24:33 · 3690 阅读 · 0 评论 -
分词 概述
现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。基于字符串匹配的分词方法按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配理解法在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。原创 2014-11-27 22:36:50 · 893 阅读 · 0 评论 -
搜索引擎概述
对信息检索的评价——准确率和召回率。相关文档:能够较好匹配用户搜索关键字的文档。准确率,precision。检索出来的文档中,相关文档所占比例。召回率,recall。全部相关文档中,被检索出来的文档的比例。 垂直搜索,vertical search。针对某一主题(行业、应用)的特殊搜索。站内搜索:搜索被限定在一个给定网站内。 文本采集网络爬虫:通过追踪网页上的超原创 2014-10-20 18:01:55 · 998 阅读 · 0 评论 -
pinyin4j
pinyin4j,一个提供拼音与汉字之间映射的开源项目。项目官网: http://pinyin4j.sourceforge.net/他人博客:http://blog.csdn.net/pathuang68/article/details/6692882转载 2014-12-01 09:48:05 · 695 阅读 · 0 评论 -
lucene 分词相关的类
TokemStreamorg.apache.lucene.analysis.TokenStream一个抽象类。一个TokenStream会枚举若干个token的序列,要么来自文档的域,要门来自查询文本。A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from que原创 2015-02-11 15:15:10 · 889 阅读 · 0 评论 -
编辑距离及代码实现
字符串A与B的编辑距离,Edit Distance,是指由A转换为B所需的最少编辑操作次数。编辑操作包括字符的替换、插入与删除。如kitten(小猫)->sitting(坐):距离为3.kitten-->(k→s)-->sitten--> (e→i)-->sittin-->(g)->sitting动态规划实现dp[i][j]表示子串str1[0~i]与子串str2[0~j]的编原创 2015-08-10 17:57:25 · 2990 阅读 · 2 评论 -
拼写纠错 (英文)
拼写纠错,又叫拼写检查,在搜索引擎中很流行,如separate是一个正确的单词,但如果故意拼错,放到百度中也会帮你纠正。见图1。图1 百度的拼写检查错误分为Non-word Errors和Real-word Errors。前者指非法单词;后者指那些拼写错误后的词仍然是合法的情况,如将“there”错误拼写为“three”(形近)。本文讨论的是Non-word Errors。网上搜了原创 2015-08-11 15:41:15 · 4822 阅读 · 0 评论 -
kibana 数据可视化
kibana,elasticsearch项目的产品之一。项目地址:https://www.elastic.co/products/kibana 。它是数据可视化工具,提供网页与人交互,将查询语句交给ES处理并将结果可视化。官方标语为:Explore & Visualize Your Data,探索与可视化你的数据。1.视图图1-1 kibana的视图示例2.向es发起查原创 2016-04-28 13:43:08 · 4336 阅读 · 2 评论 -
Elastic Search RESTful API
ES是一个服务,通过webservice即可完成集群管理与搜素引擎使用。1.集群管理ip:port :默认端口号是9200。es服务正常的话就会见到图1-1.图1-1 ip:port/_cluster/health :集群的健康状况。ip:port/_cluster/nodes/_shutdown : 关掉整个集群。ip:port/_cluster/node原创 2016-04-18 19:09:27 · 955 阅读 · 0 评论 -
lucene 简介
lucene是一个java编写的开源的全文检索引擎,是一个核心模块,并不包括用户交互、高亮结果等外围模块。1.关系型数据库的对比lucene拥有倒排文档。lucene以文档(document)为单位进行检索。与关系型数据库不同,文档不需要有固定的结构,每个文档可以有不同的字段。2.索引即倒排索引。简化版的索引可看作 这样一个map。每个索引分为多个“写一次,读多次”(wri原创 2016-04-15 15:26:57 · 1163 阅读 · 0 评论 -
ElasticSearch 简介
es是一个基于lucene的全文搜索引擎。它是一个可以处理数以亿计的文档和每秒数以百计的搜索请求的分布式解决方案。1.节点和集群为了实现容错与高可用性,es可以运行在集群(cluster)中,每一台集群中的机器称为节点(node)。2.分片每个分片都是一个独立的lucene索引,不同的分片运行在不同的机器中。当用户查询的索引分布在多个分片上时,es会把查询分发给每个相关的分片,并将原创 2016-04-15 15:43:38 · 518 阅读 · 0 评论 -
知识图谱表示学习
知识图谱是一种精细化的异构网络, 所以对其节点与边的表示学习也是一个热门的问题. 这里的学习依旧是得到它们的低维稠密向量.参考论文transr原创 2018-06-26 10:49:03 · 4419 阅读 · 0 评论