`
du_bo
  • 浏览: 39439 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类

利用Lucene给网站、系统增加搜索功能

 
阅读更多

有些网站的搜索功能都是直接使用like %关键词%方式对数据库进行关键词查找,不过这种方式速度比较慢,而且影响数据库服务器性能
其实我们可以先把数据从数据库查询出来,利用Lucene建立索引。以后每次查找都从索引中查找,可以提高查询速度和减轻服务器负担。
本篇用到的技术:Lucene 3.0.2 , IKAnalyzer 3.2.5
search.properties主要是配置搜索的信息,内容:

 

sql=select iId,title,content,credate from archeive //指定查找sql,需要建立索引的数据

update.field=iId

update.value=

search.condition=title,content                     //搜索时的查找字段

index.path=D:/project/Java/lucene/WebContent/WEB-INF/classes/Index  //索引的保存地址

 

period=10000                                      //更新索引的时间间隔

 

com.search.util.SearchConfig主要是读取search.properties的信息。

 

public class SearchConfig {

    private Properties searchPro;

    private String searchFile = "search.properties";

    private String SQL = "sql";

    private String CONDITION = "search.condition";

    private String INDEX = "index.path";

    public SearchConfig(){

        initSearch();

    }

    

    public void initSearch(){

        searchPro = PropertiesUtil.getProperties(searchFile);

    }

    

    public String getSql(){

        return searchPro.getProperty(SQL, "");

    }

    

    public String getCondition(){

        return searchPro.getProperty(CONDITION, "");

    }

    

    public File getIndexPath(){

        String path = searchPro.getProperty(INDEX, "");

        File file = new File(path);

        if (!file.exists()) {

            file.mkdir();

        }

        return file;

    }

    

    public long getPeriod(){

        String period = searchPro.getProperty("period", "0");

        return Integer.valueOf(period);

    }

    

    public String getUpdateField(){

        return searchPro.getProperty("update.field", "");

    }

    

    public String getUpdateValue(){

        return searchPro.getProperty("update.value", "");

    }

    

    public void save(){

        PropertiesUtil.saveProperties(searchPro, searchFile);

    }

 

}

 

分享到:
评论

相关推荐

    利用lucene给网站、系统增加搜索功能

    文件http://www.blogjava.net/pengo/archive/2010/10/07/333903.html的附件源码

    ShuzhenAnalyzer-1.1.3

    ShuzhenAnalyzer-1.1.3是一款用java写的基于字典的中文分词器,可以与Lucene(目前只测试了与Lucene2.2.0版本一起使用的情况,其他版本Lucene版本未测试过)一起使用来构建搜索引擎系统 其特性如下: 1、基于字典...

    X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1编译版

    国内搜索引擎最强大的多用户博客系统 国内唯一支持所有浏览器的多用户博客系统 国内唯一应用AJAX+XML+XSL三种技术于一体的博客系统 X3-BLOG 是基于XML+XSLT+AJAX技术构建的开源多用户博客门户系统,服务器端采用...

    X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1源码版

    国内搜索引擎最强大的多用户博客系统 国内唯一支持所有浏览器的多用户博客系统 国内唯一应用AJAX+XML+XSL三种技术于一体的博客系统 X3-BLOG 是基于XML+XSLT+AJAX技术构建的开源多用户博客门户系统,服务器端采用...

    JiveJdon v4.6.1.zip

    JiveJdon 不只是一个论坛程序,它的Message模型可以重用在网站内容系统、新闻发布系统、电子商务系统、仓库管理系统、资源管理系统等跨域范围中(部分已经实现),实现了目前重用研究领域最高级别的静态重用:业务...

    JAVA上百实例源码以及开源项目

    原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制  Java二进制IO类与文件...

    JAVA上百实例源码以及开源项目源代码

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    java开源包1

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包11

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包2

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包3

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包6

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包5

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包10

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包4

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包8

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包7

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包9

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

    java开源包101

    AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是...

Global site tag (gtag.js) - Google Analytics