`
du_bo
  • 浏览: 41305 次
  • 性别: 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给网站、系统增加搜索功能

    利用Lucene为网站或系统增加搜索功能,不仅可以提高用户体验,还能提升数据的利用效率。通过熟练掌握Lucene的基本原理和操作,我们可以定制出符合业务需求的高效搜索引擎。在实际开发过程中,应结合具体应用场景,...

    基于lucene的全文检索系统

    基于Struts2的全文检索系统利用了Lucene的强大功能,实现了文件上传、下载和全文检索。系统通过建立和维护有效的索引,确保了高效、准确的搜索体验。开发者可以在此基础上进一步扩展,如增加多语言支持、优化查询...

    基于Lucene的全文检索系统

    总结来说,基于Lucene的全文检索系统利用了Java和Swing技术,结合Lucene的索引和搜索能力,为本地文件提供了便捷的全文搜索服务。用户只需输入关键词,系统就能快速找到相关的文档,极大地提高了工作效率。通过深入...

    Solr Elasticsearch lucene 搜索引擎

    开发者可以利用Lucene快速实现自己的全文搜索引擎,但Lucene本身并不提供分布式处理和集群管理。 **Solr** Solr是基于Lucene构建的企业级搜索平台,它扩展了Lucene的功能,增加了许多高级特性,如多核心处理、...

    精通ajax+lucene做搜索引擎

    - **核心功能**:Lucene提供了强大的文本搜索功能,支持多种查询语法,并能够处理大量的文档集合。它通过建立索引来加速文档检索过程,使得搜索速度非常快。 - **集成方式**:在使用Ajax构建的前端界面中集成Lucene...

    最新版windows lucene-8.6.1.zip

    以一个简单的博客搜索引擎为例,可以使用Lucene 8.6.1建立博客文章的索引,通过查询解析器处理用户输入的关键词,然后利用搜索功能找到相关度最高的文章。在这个过程中,分析器将处理文章内容,提取关键词;索引构建...

    基于Lucene的新闻搜索系统的设计与实现

    ### 基于Lucene的新闻搜索系统的设计与实现 #### 概述 随着互联网的飞速发展,网络上的信息量急剧增长,这对信息采集带来了前所未有的挑战。尽管市场上已经存在像Google、百度这样的优秀通用搜索引擎,但在某些...

    最新版windows lucene-8.10.0.zip

    Lucene是Apache软件基金会的一个开放源代码全文搜索引擎库,它为开发者提供了在Java应用程序中实现全文搜索功能的...通过不断探索和实践,你可以充分利用Lucene的强大功能,为你的Windows应用打造一流的全文搜索体验。

    lucene5.X与lucene3.60的版本差异

    《Lucene 5.x与3.6.0版本差异详解》 Lucene作为一个强大的全文搜索引擎库,其每个版本的更新都带来了一系列的变化和优化。...通过理解这些变化,开发者可以更有效地利用Lucene构建高效、稳定的全文搜索系统。

    公交lucene系统

    公交Lucene系统是一种基于Apache Lucene搜索引擎库的智能公交信息检索系统。Lucene是Java语言开发的全文检索库,它提供了高性能、可扩展的文本搜索功能,被广泛应用于各种信息检索场景。在公交领域,Lucene系统能够...

    lucene基本包

    **正文** Lucene,作为Apache软件基金会的一个顶级项目,是一个高度成熟、广泛使用的...通过深入理解并实践这些核心概念和功能,开发者可以充分利用Lucene的强大能力,为他们的应用程序带来高效、精准的全文搜索体验。

    Lucene-core-2.0.0

    描述中提到的《开发自己的搜索引擎》第二版,是一本可能教导如何利用Lucene创建自定义搜索引擎的书籍。配套的Lucene-jar包是读者在实践中需要用到的资源,这里提供的是2.0.0版本的jar文件。作者保证了这个压缩包的...

    Lucene组件

    它为Java开发者提供了强大的文本搜索功能,同时也被广泛应用于其他编程语言,如.NET平台的Lucene.Net。Lucene的核心特性包括分词、索引、查询解析、排序以及结果评分。在本文中,我们将深入探讨Lucene组件及其在提高...

    lucene4.6jar

    《全面解析Lucene 4.6:核心概念与应用实践》 Lucene 4.6是Apache Lucene项目的一个重要版本,它是一个高性能、全文本搜索...在实际开发中,充分利用Lucene 4.6的功能,能够帮助我们构建出高效、准确的全文搜索引擎。

    Lucene开发详解.pdf

    通过对Lucene系统架构的介绍以及ZH_CNAnalyzer的分析,我们可以看出Lucene不仅是一个强大的全文搜索引擎库,而且具有高度的可扩展性。通过定制合适的分析器,可以显著提升特定语言环境下的搜索性能。尤其是对于中文...

    Lucene源码

    4. **集成到现有系统**: 将Lucene嵌入到Web应用、数据库或其他数据存储中,以增强其搜索功能。 5. **错误排查与性能调优**: 通过查看源码,开发者可以深入理解索引和查询过程中的问题,从而进行有效的调试和优化。 ...

    lucene5.0源码包

    - **文档检索**:Lucene 5.0广泛应用于网站内容检索,帮助用户快速找到相关信息。 - **日志分析**:在日志数据分析中,Lucene可以快速定位到关键信息,提升运维效率。 - **知识图谱**:作为底层检索引擎,支持...

Global site tag (gtag.js) - Google Analytics