Lucene 4利用Codec实现压缩存储

6 篇文章 0 订阅

继承 FilterCodec 存储域使用压缩格式

public class CompressedStoredFieldCodec extends FilterCodec {

	public CompressedStoredFieldCodec() {
		super("CompressedStoredFieldCodec", new Lucene46Codec());
	}

	public StoredFieldsFormat storedFieldsFormat() {
	      return new CompressingStoredFieldsFormat("CompressingStoredFieldsFormat", CompressionMode.HIGH_COMPRESSION, 16*1024);
	  }
}


http://opensourceconnections.com/blog/2013/06/05/build-your-own-lucene-codec/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lucene是一个开源的全文搜索引擎库,它提供了丰富的搜索功能和高效的索引技术。二分法分词是Lucene中的一种分词算法,用于将文本按照词语进行切分。 在Java中实现Lucene的二分法分词可以通过以下步骤: 1. 导入Lucene库:首先需要在Java项目中导入Lucene的相关库文件,可以通过Maven或手动下载添加到项目中。 2. 创建Analyzer对象:Analyzer是Lucene中的分析器,用于对文本进行分词处理。对于二分法分词,可以使用StandardAnalyzer或CJKAnalyzer。 3. 创建TokenStream对象:TokenStream是Lucene中的流式分词器,用于逐个获取文本中的词语。可以通过Analyzer的tokenStream方法创建TokenStream对象。 4. 获取词语:通过TokenStream对象的incrementToken方法逐个获取文本中的词语,并进行相应的处理操作。 下面是一个简单的示例代码: ```java import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; public class LuceneTokenizerExample { public static void main(String[] args) { String text = "Lucene是一个开源的全文搜索引擎库"; // 创建Analyzer对象 Analyzer analyzer = new StandardAnalyzer(); try { // 创建TokenStream对象 TokenStream tokenStream = analyzer.tokenStream(null, text); // 获取词语 CharTermAttribute charTermAttribute = tokenStream.addAttribute(CharTermAttribute.class); tokenStream.reset(); while (tokenStream.incrementToken()) { String term = charTermAttribute.toString(); System.out.println(term); } tokenStream.end(); tokenStream.close(); } catch (Exception e) { e.printStackTrace(); } finally { analyzer.close(); } } } ``` 运行以上代码,将输出以下结果: ``` Lucene 是 一个 开源 的 全文 搜索 引擎 库 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值