1,analyzer是lucene的分析器,用于将文档经过解析编入索引文件。你可以通过继承接口扩展analyzer,解析你特定格式的文档。
2,先将文档建索引----关键词---分词----查找搜引----得到索引结果----展示。
两种方法是顺序查找和索引查找。
顺序查找是实现简单,精度稍微高,但是对于大量文件,检索速度超级慢。索引和它相反。
3,基本情况是:一个document分成几个segment,然后每个field可以对应几个segment,就像是映射。
其余的你自己补充补充吧。
如果还没解决你的问题,可以加我百度HI账号。
Lucene如何搜索数据库数据呢?
首先,应该知道lucene检索的是索引文件,而索引文件则是依据于数据库创建而成的。那么问题来了,你想怎么去创建索引呢?
一般来说,这个得看需求了,最主要是考虑对数据的实时性要求高不高、数据量大不大?额,就假设数据量比较大吧,毕竟数据量太小也没必要使用lucene。
1、数据实时性要求不高。可定时增量更新索引,以天或几个小时为单位。
2.数据实时性要求较高。可在数据入库时,立即进行索引更新操作。那么问题又来了数据量比较大的时候,更新一次索引是比较慢的。所以,还得继续考虑缓存策略问题,将新增数据保存在缓存中,选择合适的时间进行提交。
谢谢回答哦,我刚学习这个,不是太懂,还想问下,这个索引文件里的内容怎么和数据库关联起来啊,还有,索引文件可以是什么类型?可以存放在哪?
索引文件是一种可以被LUCENE解析的一种特殊格式,由多个文件构成,而索引的创建是依据数据的,数据的来源可以是文档、数据库等等。索引文件本身和数据库并没有关系。如果连这个都没弄明白,还是先看点基础知识去吧。
索引的位置是在被创建时指定的,可以存放在磁盘的任何地方。
用lucene建立全文检索,要求中文分词
索引的话,推荐使用lucene,我最近的项目就是用这个,蛮好用。
不管你是否使用数据库,你都应该将html页面解析成标准的XML的页面,这样方便进行下一步操作。如果你只需要html的文章内容的话,还是比较简单的。分别对html文章内容和html地址建索引,那样你文章命中了搜索关键字的话,可以把html地址也拿出来,例 Field field1 = new Field("address",address,Field.Store.YES, Field.Index.TOKENIZED);
Field field1_1 = new Field("content",content,Store.YES,Index.UN_TOKENIZED);
doc1.add(field1);
doc1.add(field1_1);
再具体点的内容,去下一个lucene的API文档,把field,document,indexwriter,indexsearcher,这几个类看一下,还是比较好懂的。
分词器的建议使用,IKAnalyzer,在开源中文分词器里算是很好的,而且一直在稳定的更新版本。
在lucene但条件多参数如何使用or
用BooleanQuery 就可以。
BooleanQuery booleanQuery11 = new BooleanQuery();
Term t = new Term("contents", "中国");
Query query = new TermQuery(t);
booleanQuery11.add(query, BooleanClause.Occur.SHOULD);
t = new Term("contents", "美国");
query = new TermQuery(t);
booleanQuery11.add(query, BooleanClause.Occur.SHOULD);
这样就可以把contents里包含“中国”或者“美国”任何一个的所有记录检索出来。
java如何用lucene+nutch搭建分布式搜索引擎?
1.可以用lucene,lucene现在已经发展到1.9.1版了,相当稳定,网上中英文资源很丰富,甚至关于这个工具包的书(lucene in action)都有了.如果只是做站内搜索,可以直接从读数据库中读数据,调用lucene做索引.再写一个前台查询界面,调用lucene查询索引并在前台显示结果.
想一点程序都不写的话可以参考下面2个方案
2.用heritrix + nutchwax,heritrix也是一个很成熟的crawler,他将网页下载并压缩保存到arc格式的文件中,一个arc文件一般100兆左右,heritrix不解析提取网页的内容,nutchwax负责解析网页,提取内容并建索引,nutchwax提供检索界面.缺点是nutchwax的安装很麻烦.
3.用nutch,一个超强的开源软件,作者就是lucene的作者,该软件的目标是做到和Google一样强大,nutch的很多分布式实现的思想来源于Google,目前已实现分布式crawler,和分布式检索,已经有人用他抓了几亿的网页,nutch功能包括了下载网页,解析网页,计算网页重要度,建索引,前台搜索等一个搜索引擎需要的绝大部分功能,用他来做站内搜索也很方便.该软件支持中文. nutch目前稳定的版本是0.7.2 用该软件的缺点是网上的中文资料不多.你要习惯看英文资料
请教lucene高人,为什么用booleanQuery 不能索引中文
索引的话,推荐使用lucene,我最近的项目就是用这个,蛮好用。 不管你是否使用数据库,你都应该将html页面解析成标准的XML的页面,这样方便进行下一步操作。如果你只需要html的文章内容的话,还是比较简单的。分别对html文章内容和html地址建索...
java怎么用lucene实现相关文章
可以使用Lucene的,Lucene的现在已经发展到了1.9.1版本,还算稳定,是非常丰富的资源在网上用英语,甚至书籍这个试剂盒(Lucene的行动)如果只搜索可以直接读取数据从读取数据库,调用Lucene索引写一个前台查询界面,调用Lucene的索引和结果将显示在前台查询。
想不写的小程序,那么你可以参考下列程序
heritrix的+ nutchwax,heritrix的是一个非常成熟的履带下载?页面和压缩文件保存弧格式中,一个弧形的文件一般是100兆左右,解决不了heritrix的提取内容的网站,nutchwax是负责解析网页,提取索引,搜索界面的内容及建设nutchwax。缺点是安装nutchwax麻烦。
Nutch的,具有超强的开源软件,是Lucene的作者,软件做同样的目标和谷歌是强大的,Nutch的许多分布式实现从谷歌的想法,已派发履带式和分布式搜索,已经赶上了他的数以百万计的Web,Nutch的功能,其中包括大部分的下载页面的功能,分析网站计算网页的重要性,与他建立一个索引,前搜索的搜索引擎做一个站内搜索也很方便。该软件支持中文。 Nutch的当前稳定版本是0.7.2这个软件的缺点是中国网上的信息很少,你要习惯看英文
我用lucene实现的高亮效果,在关键词前后加的标签,浏览器不解析,直接把标签打印出来了,这是怎么回事啊
好像记得是编码的问题 或者是 浏览器兼容性的问题,过去好长时间了 有点想不起来了来自:求助得到的回答
转载请注明出处51数据库 » lucene解析word Lucene的问题
穿婚纱当新娘