利用搜索引擎搭建企业搜索平台中图分类号: TP393 文献标识码: A 文章编号: 1003-9082 ( 2014 ) 04-0004-02 一、前言 1. 目的和意义搜索引擎是当前互联网应用中的主要工具, 通过使用搜索引擎, 使得我们检索信息的能力获得了极大的提高,我们较常使用的百度和 Google 就是搜索引擎应用最成功典范。随着企业数据中心的建立, 越来越多的数据不断的汇聚, 企业将面对海量数据, 如何把搜索引擎技术引入到企业中应用, 并利用其为企业搭建自己的搜索平台, 为企业从海量数据中进行快速、准确、有效的搜索提供支持。 2. 研究的内容本文主要研究内容是 Lucene 搜索引擎实现原理, 并利用基于 Lucene 的搜索引擎服务器 Solr 搭建企业自己的搜索平台。二、搜索引擎原理 1. 搜索引擎介绍搜索引擎是一种搜索工具, 目的在于帮助用户找到想要查询的信息和数据。搜索引擎没有具体的分类, 大致分为全文搜索引擎、分类目录搜索引擎、元搜索引擎等。企业中要使用搜索引擎技术,可以选择成熟的开源项目,目前开源的全文搜索引擎有 Sphinx 、 Nutch 、 Solr 等等。 2. 搜索引擎工作原理不同的搜索引擎实现会有一些差异, 但是基本的实现原理是类似的。搜索引擎工作原理总体分两个过程,索引( Indexing ) 和搜索( Search )。索引:是所有搜索引擎的核心概念,为了进行快速查找,把数据处理成一种高效、可交叉引用的格式。索引过程是将各种数据提取成搜索引擎能识别的信息交给索引器, 索引器会分析数据并在索引库中创建该信息的索引。搜索:就是在索引中查找关键字的过程,目的是找到这些关键字在哪些地方出现过, 搜索的质量通常由查确率( precise )和查全率( recall )来衡量,查全率衡量查找到相关内容的能力,查确率用来衡量过滤非相关内容能力。搜索过程是在得到用户的查询请求后, 在索引库中搜索创建的索引,然后返回结果。三、搜索引擎库 Lucene 本文选择 Lucene 搜索引擎来实现搜索应用, 它是一个基于 JAVA 的开源、高度可扩展的搜索引擎库,也是目前最为流行的基于 JAVA 开源全文检索工具包。它提供了一套简单的核心 API ,可方便的嵌入到各种应用程序中实现增加索引和搜索功能。 1. 索引的建立只要数据能转换成文本, Lucene 可以对任何格式的数据做索引和搜索。对于常见的格式化文档, 使用 Tika 工具包解析成文本, 然后将文本填到 Document 中的 Field 里( 类似于数据库的字段概念) ,经过分词器解析,用 IndexWriter 写入到索引文件中。中文分词在搜索引擎中,词( Token )是真正用来索引文档的信息。对英文而言,词与词之间有空格分隔, 可以很容易的区分出词, 而中文的词不存在分隔符, 同时也缺乏明显的形态标记,难以识别。因此,中文的搜索引擎首要问题就是如何将中文分割成合理的词语序列,这个过程就叫中文分词。好的分词器能快速而准确的切分中文语句, 使用户在搜索过程中从索引库中查找信息花费时间减少, 从而提高中文搜索速度。我们可以使用开源、成熟的分词器, 如 IKAnalyer 、 MmsegAnalyer 等。 2. 搜索 Lucene 搜索仅需要几个类就可以简单的实现搜索,它使用 Q
利用搜索引擎搭建企业搜索平台 来自淘豆网m.daumloan.com转载请标明出处.