直接放代码
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);