[分享]Lucene创建索引_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3003 | 回复: 0   主题: [分享]Lucene创建索引        下一篇 
minglang.yu
注册用户
等级:中尉
经验:441
发帖:11
精华:0
注册:2014-3-30
状态:离线
发送短消息息给minglang.yu 加好友    发送短消息息给minglang.yu 发消息
发表于: IP:您无权察看 2014-4-2 15:56:07 | [全部帖] [楼主帖] 楼主

Lucene 是web搜索引擎,类似谷歌和百度。

使用Lucene创建一个索引步骤:
1.确定索引文件存放的目录。

 String INDEX_PATH="/index";


2.构建一个写 索引器--IndexWriter。

 IndexWriter writer =new IndexWriter(INDEX_PATH, new ChineseAnalyzer(),true);


3.构建包含多个field的document 文档。

 Document doc = new Document();
doc.add( new Field("索引字段名称", "字符串", Field.Store.YES,Field. Index.TOKENIZED));


4.将文档写入索引。

 writer.addDocument(doc);


5.关闭索引。

 writer.close();


IndexWriter这个类用于创建一个新的索引,它提供对索引的写入操作。第一个参数用于指索引的存放位置;由于IndexWriter是要将Document写入索引,因此必然要对输入的数据源进行相应的处理,所以由第二个参数指明所用的分词器;第三个参数为true代表新增,false代表追加(默认为false).

Directory索引存放位置,常用的子类有FSDirectory、RAMDirectory;用于决定是把Lucene的索引文件保存在文件系统中还是在内存中

Analyzer分词器

boolean 值为true表示创建索引或覆盖已存在的索引,值为false表示追加已存在的索引

MaxFieldLength对每个Field限制建立分词索引的最大数目

Field存储方式:

     Store.NO 不存储

     Store.YES 存储

     Store.COMPRESS 压缩存储

index:索引方式

     Index.NO 不索引

     Index.ANALYZED 分词索引

     Index.UN_ANALYZED 不分词索引

     Index.NO_NORMS 不分词索��,禁止参与评分,减少内存消耗

IndexWriter对象关闭前可使用indexWriter.optimize()对索引进行优化




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论