大家期待的LucenePlugin 来了

在configPlugin 里 添加 LucenePlugin 插件

Config config = new Config();

config.setLucenePath("d:/LuceneHome/core/");

LucenePlugin lucenePlugin = new LucenePlugin();

lucenePlugin.putDataSource(config, "test", "test");

me.add(lucenePlugin);

在业务层使用

//传入 数据源 key

private LuceneService service = new LuceneServiceImpl("test");

 

打完收工

下载地址:http://git.oschina.net/Myzhang/luceneplus

中文手册:链接: http://pan.baidu.com/s/1bpcWlpP 密码: w6yc

评论区

JFinal

2017-07-15 11:44

终于来了,api 十分简洁,超赞

liuzy666

2017-07-17 16:37

这个中文手册用什么软件做的》?

liuzy666

2017-07-17 18:02

这个数据源name和数据源key是什么东西

林呗老梁

2017-07-18 10:39

给你6666个赞

fangjunai

2017-07-20 14:52

[INFO ] 2017-07-20 14:24:50,542 method:com.jfinal.kit.LogKit.info(LogKit.java:55)
LucenePlus 加载完毕!
[INFO ] 2017-07-20 14:24:50,823 method:com.ld.zxw.util.DateUtil.timeConsuming(DateUtil.java:20)
删除索引---》--->执行耗时:0.266 秒
[INFO ] 2017-07-20 14:24:50,823 method:com.ld.zxw.util.DateUtil.timeConsuming(DateUtil.java:21)
删除索引---》--->执行耗时:266 毫秒
[User [id=1, name=aaa1, content=无法访问此网站, sort=1], User [id=2, name=aaa2, content=无法访问此网站, sort=2], User [id=3, name=aaa3, content=无法访问此网站, sort=3], User [id=4, name=aaa4, content=无法访问此网站, sort=4], User [id=5, name=aaa5, content=无法访问此网站, sort=5], User [id=6, name=aaa6, content=天吧, sort=6], User [id=7, name=aaa7, content=无法访问此网站, sort=7], User [id=8, name=aaa8, content=无法访问此网站, sort=8], User [id=9, name=aaa9, content=无法访问此网站, sort=9]]
Exception in thread "main" java.lang.NullPointerException
at org.apache.lucene.document.Field.tokenStream(Field.java:574)
at org.apache.lucene.index.DefaultIndexingChain$PerField.invert(DefaultIndexingChain.java:740)
at org.apache.lucene.index.DefaultIndexingChain.processField(DefaultIndexingChain.java:447)
at org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:403)
at org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:273)
at org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:433)
at org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1382)
at org.apache.lucene.index.IndexWriter.addDocuments(IndexWriter.java:1358)
at com.ld.zxw.index.AddIndex.saveIndexs(AddIndex.java:25)
at com.ld.zxw.service.LuceneServiceImpl.saveObjs(LuceneServiceImpl.java:50)
at app.TestLucenePlus.main(TestLucenePlus.java:43)
Test 是什么问题?

张现伟

2017-07-21 11:19

@fangjunai 默认分词器小bug 已修复 或者 自己set 分词器

张现伟

2017-07-21 11:19

张现伟

2017-07-21 11:20

@liuzy666 网文快捕 软件

fangjunai

2017-07-21 16:01

Config config = new Config();
config.setHighlight(true);
config.setAnalyzer(new IKAnalyzer());
config.setLucenePath("d:/LuceneHome/core/");
LucenePlugin lucenePlugin = new LucenePlugin();
lucenePlugin.putDataSource(config, "test", "test");
me.add(lucenePlugin);

Page queryList = service.findPageList(getPara("s"), 0, 10, User.class);
===================================
URL: http://127.0.0.1/?s=中国 出现以下是对的.
pageNumber : 0 pageSize : 10 totalPage : 500 totalRow : 4993
{ User [id=10, name=测试10, content=我是中国人, 我是第10名, sort=0]
} { User [id=100, name=测试100, content=我是中国人, 我是第100名, sort=0]
} { User [id=1000, name=测试1000, content=我是中国人, 我是第1000名, sort=0]
} { User [id=1001, name=测试1001, content=我是中国人, 我是第1001名, sort=0]
} { User [id=1002, name=测试1002, content=我是中国人, 我是第1002名, sort=0]
} { User [id=1003, name=测试1003, content=我是中国人, 我是第1003名, sort=0]
} { User [id=1004, name=测试1004, content=我是中国人, 我是第1004名, sort=0]
} { User [id=1005, name=测试1005, content=我是中国人, 我是第1005名, sort=0]
} { User [id=1006, name=测试1006, content=我是中国人, 我是第1006名, sort=0]
} { User [id=1007, name=测试1007, content=我是中国人, 我是第1007名, sort=0]
}

第一个问题 URL: http://127.0.0.1/?s=中 为什么是空的?
pageNumber : 0 pageSize : 10 totalPage : 0 totalRow : 0
}
====================================
第二个问题 URL: http://127.0.0.1/?s=空 为什么不显示全部, 而是报错.

张现伟

2017-07-22 11:13

@fangjunai 中 不是一个词 参数不能为空

潇凝子潇

2017-07-22 20:26

棒棒哒

2017-07-24 16:56

public void test() {
lucene.delAll();
List dataList = Lists.newArrayList();
for (WebBlog blog : new WebBlog().find("select * from web_blog")) {
dataList.add(blog);
}
boolean saveObjs = lucene.saveObjs(dataList);
// 分页查询
List queryList = lucene.findList("王者", WebBlog.class,100000);
renderJson(queryList);
}

查询出的结果 [{}],确实是有一个匹配的,但是为什么里面什么都没有呢,测试 时自定义一个User是可以查出来的

张现伟

2017-07-24 17:02

@朱 看配置文件 字段是否吻合

2017-07-24 17:14

@张现伟 明白,谢谢

2017-07-25 09:06

@张现伟 只配了一个
title 好像还是查不到,不知道为什么

张现伟

2017-07-25 10:21

@朱 字段类型是 string 还是 text

2017-07-25 10:26

@张现伟 2个都试了,查不到啊

张现伟

2017-07-25 10:28

@朱 你进群 这里不方面 475349334

elchun

2017-07-30 13:38

这个项目里面有用到reids吗?用来干嘛的

张现伟

2017-07-30 16:35

@elchun redis 做 hot 搜索词

穿越123

2017-07-31 11:13

这个插件干嘛的?

zan7755

2017-08-01 09:52

@穿越123 类似百度搜索用的。

giianhui

2017-08-15 09:02

怎么对搜索结果进行排序呢?

张现伟

2017-08-17 22:10

@giianhui 配置文件

elber25977

2017-08-18 11:54

太棒啦