摘要:
搜索 1、对于按创建时间的排序可以使用doc.id的方式 new SortField(null, SortField.DOC, reverse)排序方式尽量使用INT类型的字段 也就是按照写入索引的顺序排序 2、对于时间字符串的排序可以转换成整数进行排序 3、去掉不必要的parse 使用TermQuery替换 4、TermQuery和Term可以只保留一个实例 createTerm... 阅读全文
摘要:
1 联合两个索引查询,已解决: IndexSearcher[] searchers = new IndexSearcher[2]; searchers[0] = new IndexSearcher(m_indexpath); searchers[1] = new IndexSearcher(m_outindexpath); MultiSearcher multiSearcher... 阅读全文
摘要:
本文仅记录一些简单的使用方法,供初学者参考。 以下例子采用 Lucene.NET 1.9 版本,可取去 Lucene.Net 下载。 1. 基本应用 using System; using System.Collections.Generic; using System.Text; using Lucene.Net; using Lucene.Net.Analysis; usi... 阅读全文
摘要:
在lucene搜索分页过程中,可以有两种方式 一种是将搜索结果集直接放到session中,但是假如结果集非常大,同时又存在大并发访问的时候,很可能造成服务器的内存不足,而使服务器宕机 还有一种是每次都重新进行搜索,这样虽然避免了内存溢出的可能,但是,每次搜索都要进行一次IO操作,如果大并发访问的时候,你要保证你的硬盘的转速足够的快,还要保证你的cpu有足够高的频率 而我们可以将这两种方式结合下,每... 阅读全文
摘要:
1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 1.2 lucene能做什么 要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,... 阅读全文
摘要:
.1索引过程优化 索引一般分2种情况,一种是小批量的索引扩展,一种是大批量的索引重建。在索引过程中,并不是每次新的DOC加入进去索引都重新进行一次索引文件的写入操作(文件I/O是一件非常消耗资源的事情)。 Lucene先在内存中进行索引操作,并根据一定的批量进行文件的写入。这个批次的间隔越大,文件的写入次数越少,但占用内存会很多。反之占用内存少,但文件IO操作频繁,索引速度会很慢。在IndexWr... 阅读全文