摘要:NRT原理When you ask for the IndexReader from the IndexWriter, the IndexWriter will be flushed (docs accumulated in RAM will be written to disk) but not committed (fsync files, write new segments file, etc).The returned IndexReader will search over previously committed segments, as well as the new, flu
阅读全文
08 2012 档案
摘要:在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means)。当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下。 为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, … xn),Y=(y1, y2, y3, … yn)。下面来看看主要可以用哪些方法来衡量两者的差异,主要分为距离度量和相似度度量。距离度量 距离度量(Distance)用于衡量个体在空间上存在的距离,距..
阅读全文
摘要:参考《分布式java应用》一书,简单过一遍并发包(java.util.concurrent)ConcurrentHashMapConcurrentHashMap是线程安全的HashMap的实现。1)添加put(Object key , Object value)ConcurrentHashMap并没有采用synchronized进行控制,而是使用了ReentrantLock。public V put(K key, V value) { if (value == null) throw new NullPointerException(); in...
阅读全文
摘要:1.集合包集合包是java中最常用的包,它主要包括Collection和Map两类接口的实现。对于Collection的实现类需要重点掌握以下几点:1)Collection用什么数据结构实现?2)Collection的创建、添加对象、删除对象、获取对象、遍历、判断是否存在、排序等操作的原理,及优缺点。1.1.CollectionCollection存放的是多个单对象。Collection又分为两类接口,List和Set。1.1.1.ListList支持放入重复的对象。List的实现类主要包括:ArrayList、LinkedList、Vector、Stack。ArrayList1)从Array
阅读全文
摘要:面对字段类型为数值时,lucene表现得并不是很完美,经常会带来一些意想不到的“问题”。下面从索引、排序、范围检索(rangeQuery)三个方面进行分析。搜索我们做好准备工作,建立索引。RAMDirectory dir = new RAMDirectory(); public void index() { Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36); try { IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig( Versi...
阅读全文
摘要:接触搜索引擎、lucene已经3年了,当时什么都不懂,幻想着可以为lucene做一套管理系统,适用于中低端垂直搜索,可以快速搭建检索服务,甚至认为可以做成一个产品。但是,有市场吗?用户群体是什么?接着认识了solr,发现和它的思想如出一辙。为了不忘却那段苦逼的岁月,于是......SWT已经淡忘了......实例管理,类似数据库的实例,每个实例可以包含多个索引(core)。每个实例可以动态配置。这里主要对字段进行配置,类似solr的schema.xml。包括字段名称、存储方式、分词方式、索引方式。这里相当于是一个查看配置的功能。支持数据的导入,当时只实现了sqlserver数据库的导入。确定好
阅读全文
摘要:solr在lucene外边做了一层厚厚的封装,主要是为了简化二次开发,提供了一些成熟的解决方案。solr和solrCoresolr可以对多个core进行综合管理,并接受请求选择特定的一个或者多个core执行相关任务。下面来回答什么是solr的core。core从文件结构的角度来看的话,主要包括一份索引(也可能还包括拼写检查的索引)、一堆配置文件。最主要的配置文件是:solrconfig.xml和schema.xml。solrconfig.xml从整体上对core进行了配置,例如索引的存放路径、字段的最大长度(maxFiedlLength)、写锁的超时时间(writeLockTimeout)、锁
阅读全文