1 Star 0 Fork 1

supercoeus / lucene

forked from 苏雄伟 / lucene 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

lucene

基于lucene与IKAnalyzer的中文搜索demo及学习记录

Lucene是apache下的一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,部分文本分析引擎。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能。

IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包最初,它是以开源项目 Lucene为应用主体的,结合词典分词和文法分析 算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。

开发环境及项目框架介绍

数据准备

介绍以下俩种初始数据的方式:

  • 1、通过数据库代码baike.sql中 的数据作为初始数据
  • 2、通过Python爬取百度百科的词条数据作为本搜索的基础数据,爬取介绍及操作方式见PythonSpider

项目运行

    @GetMapping("/createIndex")
    public String createIndex(int limit,int offset) {
        // 拉取数据
        List<Baike> baikes = baikeMapper.getAllBaike(limit,offset);
        Baike baike = new Baike();
        //获取字段
        for (int i = 0; i < baikes.size(); i++) {
            //获取每行数据
            baike = baikes.get(i);
            //创建Document对象
            Document doc = new Document();
            //获取每列数据
            Field id = new Field("id", baike.getId()+"", TextField.TYPE_STORED);
            Field title = new Field("title", baike.getTitle(), TextField.TYPE_STORED);
            Field summary = new Field("summary", baike.getSummary(), TextField.TYPE_STORED);
            //添加到Document中
            doc.add(id);
            doc.add(title);
            doc.add(summary);
            //调用,创建索引库
            indexDataBase.write(doc);
        }
        return "成功";
    }
    //搜索,实现高亮
    @GetMapping("/getSearchText")
    public ModelAndView getSearchText(String keyWord,String field,ModelAndView mv) throws Exception {
        List<Map> mapList = searchDataBase.search(field, keyWord);
        mv.setViewName("/result");
        mv.addObject("mapList",mapList);
        return mv;
    }

运行效果

search result

空文件

简介

基于lucene与IKAnalyzer的中文搜索demo及学习记录 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/supercoeus/lucene.git
git@gitee.com:supercoeus/lucene.git
supercoeus
lucene
lucene
master

搜索帮助

14c37bed 8189591 565d56ea 8189591