java 搜索 redis+IKAnalyzer+lucene

直接放代码

pom.xml


<dependency>
<groupId>org.apache.search4j</groupId>
  <artifactId>redis_search4j</artifactId>
       <version>1.0.1</version> 
        </dependency>
        
        <dependency>
<groupId>org.apache.IKAnalyzer</groupId>
  <artifactId>IKAnalyzer</artifactId>
       <version>3.2.8</version> 
        </dependency>
        
        <dependency>
   <groupId>org.apache.lucene</groupId>
   <artifactId>lucene-core</artifactId>
   <version>3.6.2</version>
</dependency>



mvn install:install-file -Dfile=IKAnalyzer3.2.8.jar -DgroupId=org.apache.IKAnalyzer -DartifactId=IKAnalyzer -Dversion=3.2.8 -Dpackaging=jar


mvn install:install-file -Dfile=redis_search4j.jar -DgroupId=org.apache.search4j -DartifactId=redis_search4j -Dversion=1.0.1 -Dpackaging=jar






	
List<SearchDTO>  searchSize =  dao.querySearchList(etime,size);
	IndexWriter iw =  iw.addIdAndIndexItem(bean.getTitle(), fenci(bean.getTitle()));
	iw.addNeedSortItem("time", bean.getEgettime());
	iw.writer();
		
		
		
	private String fenci(String text) {
		// 创建分词对象
		String result = "";
		Analyzer anal = new IKAnalyzer(true);
		StringReader reader = new StringReader(text);
		// 分词
		TokenStream ts = anal.tokenStream("", reader);
		CharTermAttribute term = ts.getAttribute(CharTermAttribute.class);
		// 遍历分词数据
		try {
			while (ts.incrementToken()) {
				result = result + term.toString() + "|";
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		reader.close();
		return result;
	}
搜索:
IndexSearch is = new IndexSearch(redisSearch);
is.search("time", IndexSearch.DESC,beginNum,size, value);












评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值