Compass
2014-03-17 09:41
309 查看
http://www.compass-project.org/
一 导包
注意lucene的版本 2.0
配置文件
compass.cfg.xml
<compass-core-config xmlns="http://www.compass-project.org/schema/core-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.compass-project.org/schema/core-config http://www.compass-project.org/schema/compass-core-config-2.2.xsd">
<compass name="default">
<connection>
<!--
索引库的位置
-->
<file path="./indexDir"/>
</connection>
<mappings>
<class name="cn.itcast.compass0909.javabean.Article" />
</mappings>
</compass>
</compass-core-config>
一 导包
注意lucene的版本 2.0
配置文件
compass.cfg.xml
<compass-core-config xmlns="http://www.compass-project.org/schema/core-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.compass-project.org/schema/core-config http://www.compass-project.org/schema/compass-core-config-2.2.xsd">
<compass name="default">
<connection>
<!--
索引库的位置
-->
<file path="./indexDir"/>
</connection>
<mappings>
<class name="cn.itcast.compass0909.javabean.Article" />
</mappings>
</compass>
</compass-core-config>
@Searchable public class Article { private Long id; private String title; private String content; @SearchableId(name="id",store=Store.YES,index=Index.NOT_ANALYZED) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @SearchableProperty(name="title",store=Store.YES,index=Index.ANALYZED) public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } @SearchableProperty(name="content",store=Store.YES,index=Index.ANALYZED) public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
/** * 增、删、改、查 * @author Administrator * session.create就是往索引库中加入一条数据,不管id值是否重复 * session.save * 如果id值已经存在了,则覆盖,如果不存在则增加 * */ public class ArticleIndex { @Test public void testCreateIndex(){ CompassConfiguration configuration = new CompassConfiguration(); configuration.configure(); Compass compass = configuration.buildCompass(); CompassSession session = compass.openSession(); Article article = new Article(); article.setId(1L); article.setTitle("lucene可以做搜索引擎"); article.setContent("asdfasdf"); session.create(article); session.close(); } @Test public void testSearchIndex(){ CompassConfiguration configuration = new CompassConfiguration(); configuration.configure(); Compass compass = configuration.buildCompass(); CompassSession session = compass.openSession(); CompassHits hits = session.find("lucene"); for(int i=0;i<hits.length();i++){ Article article = (Article)hits.data(i); System.out.println(article.getContent()); } } @Test public void testDeleteIndex(){ CompassConfiguration configuration = new CompassConfiguration(); configuration.configure(); Compass compass = configuration.buildCompass(); CompassSession session = compass.openSession(); Article article = (Article)session.get(Article.class, 1L); session.delete(article); session.close(); } @Test public void testUpdateIndex(){ CompassConfiguration configuration = new CompassConfiguration(); configuration.configure(); Compass compass = configuration.buildCompass(); CompassSession session = compass.openSession(); Article article = new Article(); article.setId(1L); article.setTitle("lucene可以做搜索引擎"); article.setContent("asdfasdf"); session.save(article); session.close(); } }
@Test public void testQuery(){ CompassConfiguration configuration = new CompassConfiguration(); configuration.configure(); Compass compass = configuration.buildCompass(); CompassSession session = compass.openSession(); CompassQueryBuilder queryBuilder = session.queryBuilder(); CompassQuery compassQuery = queryBuilder.matchAll(); queryBuilder.wildcard("title", "l*"); CompassHits hits = compassQuery.hits(); }
相关文章推荐
- NSString用法总结
- 【懒懒】我不生产笑话,我只是笑话的搬运工 [问题点数:200分]
- SQL Server 常用SQL总结
- 解决炉石传说战网无法更新问题
- 【grunt整合版】30分钟学会使用grunt打包前端代码
- Sinatra+SQLite3+DataMapper - 十分完整的tutorial - “Superdo”
- JSON基础笔记
- 我的第一个博客
- RedHat yum安装配置藏
- ASP.NET中cs代码页找不到aspx页面中的控件ID
- V4L2 API详解 <二> Camera详细设置
- 25个可遇不可求的jQuery插件
- windows64位安装SetupTools
- linux内核编译
- 优秀 android 开发网站荟萃
- QT疑惑与心得。。
- 推荐移动UI/UX设计师和PM使用的原型工具
- spring获取JavaBean的几种方式
- Beagle选型参数对照表
- Java系统属性与Preferences API的简单介绍