2016-06-24 Eric Wang
索引备份的几个关键问题 最简单的备份方式是关闭IndexWriter,然后逐一拷贝索引文件,但是如果索引比较大,那么这种备份操作会持续较长时间,而在备份期间,程序无法对索引文件进行修改,很多搜索程序是不能接受索引操作期间如此长时间停顿的 那么不关闭IndexWriter又如何呢?这样也不行,因为在拷贝索引期间,如果索引文件发生变化,会导致备份的索引文件损坏 另外一个问题就是如果原索引文件损坏的话,再备份它也毫无意义,所以一定要备份的是最后一次成功commit之后的索引文件 每次在备份之前,如果程序将要覆盖上一个备份,需要先删除备份中未出现在当前快照中的文件,因为这些文件已经不会被当前索引引用了;如果每次都更改备份路径的话,那么就直 继续阅读 »
2017-02-11 Kevin
Mysql索引 - B树/B+树 介绍 B树/B+树介绍 B树 B+树 索引介绍 MylSAM 索引 InnoDB 索引 继续阅读 »
2015-12-09 Eric Wang
Maven的仓库、索引 中央仓库:目前来说,http://repo1.maven.org/maven2/ 是真正的Maven中央仓库的地址,该地址内置在Maven的源码中,其它地址包括著名的ibiblio.org,都是镜像。 索引:中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件至2015年12月8日大小约为1.11G,索引每周更新一次。 本地仓库:是建立在本地机器上的Maven仓库,本地仓库是中央仓库(或者说远程仓库)的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的Jar包版本在 继续阅读 »
2016-11-23 Eric Wang
 环境 Lucene 6.0.0 Java "1.8.0_111" OS Windows 7 Ultimate  线程安全 在Lucene中,打开一个IndexWrite之后,就会自动在索引目录中生成write.lock文件,这个文件中并不会有内容,不管是在索引打开期间还是在索引关闭之后,其大小都为0KB,并且在IndexWriter关闭之后,并不会删除该文件。如果同时打开多个IndexWriter的话,后打开的IndexWriter就会抛出LockObtainFailedException异常。这是个很重要的保护机制,因为若针对同一索引打开两个writer的话,会导致索引损坏。所以Lucene中的锁主要针对并发写的情况,在写 继续阅读 »
2019-05-10 Lanffy
前言 再Elasticsearch创建索引流程一文中,介绍了ES创建索引的流程。再流程中是调用Lucene的接口来创建索引的。本篇文章主要介绍ES中的索引——倒排索引 继续阅读 »
2016-05-24 Eric Wang
Lucene的主要搜索API 一个简单的搜索应用主要包括索引和搜索两部分,在Lucene中,IndexSearcher类是用于对索引中文档进行搜索的核心类,它有几个重载的搜索方法,可以使用最常用的方法对特定的项进行搜索,一个项由一个字符串类型的域值和对应的域名构成。现将搜索相关API汇总如下 | 类 | 目的 | | ------------ | ------------ | | IndexSearcher | 搜索索引的核心类。所有搜索都通过IndexSearcher进行,它们会调用该类中重载的search方法 | | Query及其子类 | 封装某种查询类型的具体子类。Query实例将被传递给IndexSearcher 继续阅读 »
2016-12-05 Eric Wang
 定义 在Lucene中基本的概念包括:index、document、field和term。一个index包含一个documents的序列 - 一个document是一个fields的序列 - 一个field是一个命名的terms序列 - 一个term是一个bytes的序列 在两个不同fields中的相同bytes序列被认为是不同的term。因此,term表示为一对:命名field的字符串,以及field内的bytes。  倒排索引 谈到倒排索引,那么首先看看正排是什么样子的呢?假设文档1包含【中文、英文、日文】,文档2包含【英文、日文、韩文】,文档3包含【韩文,中文】那么根据文档去查找内容的话 - 文档1->【中文、英文、 继续阅读 »
2016-05-20 Eric Wang
引言 Lucene6.0于2016年4月8日发布,要求最低Java版本是Java 8。 相信大多数公司的数据库都需要采用分库分表等一些策略,而对于某些特定的业务需求,分别从不同的库不同的表中去检索特定的数据显得比较繁琐,而Lucene正好可以解决某些特殊需求,对于不同库不同表中的数据先建立全量索引,然后将需要检索的数据写入某个单独的表中,供其它业务需求方查询,以后的每天只需要做增量索引并写入数据表即可。 鉴于最近一直在做Lucene相关方面的工作,而本人一向又比较喜欢使用最新发布的版本,而网络上这类资源极少,故将一些要点及示例整理出来,本文主要从实战角度来介绍Lucene 6.0的使用,不涉及过多原理方面的东西,但是对于一些核 继续阅读 »
2014-12-30 Robin Wen
文/Robin 本站推广 币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。 币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872 在MySQL中是允许在同一个列上创建多个索引的,示例如下: bash mysql --socket=/tmp/mysql5173.sock -uroot -p ``` bash mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.1.73 | +--------- 继续阅读 »
2015-11-17 安兴乐-siler
计算机视觉 一颗中二的哨牙 袁勇的博客 小村长的博客 CNN以及深度学习方向 待读列表 继续阅读 »