- 1
- 0
- 约3.73千字
- 约 27页
- 2019-07-23 发布于江苏
- 举报
第23章文本搜索引擎(Zend_Search_Lucene)
通常的网站系统中,全站搜索是一个非常实用又十分便捷的功能。用户可以使用此功能在最短的时间内找出自己所需要的信息。通常的全站搜索功能都是需要数据库后台支持的,因为这样可以使用SQL语句强大的查询功能,而同样的文本搜索引擎则相对较少。本章所要介绍的Zend_Search_Lucene就是ZendFramework所提供的基于文本的通用搜索引擎。通过本章内容的学习,读者可以领会到使用Search_Lucene文本搜索引擎所带来的惊喜。
23.1 Zend_Search_Lucene简介 本节先来介绍关于Zend_Search_Lucene的一些基础内容,其中包括Zend_Search_Lucene的特点、Zend_Search_Lucene的组成部分以及字段类型的含义等。 23.1.1 Zend_Search_Lucene的特点 Zend_Search_Lucene是一个完全由PHP5编写的通用文本搜索引擎。由于其将索引保存在文件系统中而不需要数据库支持,因此该组件几乎可以为任何由PHP驱动的网站提供搜索能力。Zend_Search_Lucene组件具有以下特点。 具有排名功能的搜索,搜索结果中最符合要求的内容将出现在结果集的最前面。 支持许多强大的查询类型,如短语查询、通配符查询、近似查询、范围查询等。 支持对特定字段的搜索,如标题、作者、内容、发表时间等。 23.1.2 Zend_Search_Lucene的组成 Zend_Search_Lucene将文档作为基本的索引主题,而文档(document)又可以分为若干被命名的字段(field),字段中包含可供搜索的内容。一个文档被表现为Zend_Search_Lucene_Document对象,这个对象包含了若干Zend_Search_Lucene_Field对象,用以表现相应的字段。 需要特别说明的是索引中可以加入任意类型的信息。应用程序描述信息或者元信息(metadata)可以被保存在文档字段中,并在搜索过程中与文档一起被检索。控制这些索引是应用程序的责任。这意味着任意应用程序可以访问的数据来源都可以进行索引。例如,这些数据可以来自于文件系统、数据库或者是HTML表单等。 23.1.3 字段的含义 Zend_Search_Lucene_Field字段类中的字段中每种的创建方法与特点都不同。而类也提供了一些静态方法用以创建具有不同特点的字段。 Zend_Search_Lucene_Field::Keyword($name,$value,$encoding=) Zend_Search_Lucene_Field::UnIndexed($name,$value,$encoding=) Zend_Search_Lucene_Field::Binary($name,$value) Zend_Search_Lucene_Field::Text($name,$value,$encoding=) Zend_Search_Lucene_Field::UnStored($name,$value,$encoding=) 23.2 创建索引 索引(Index)是Zend_Search_Lucene的重要组成部分。本节介绍如何创建并使用索引。其中将详细介绍创建一个新的索引与更新已经存在的索引的方法。 23.2.1 创建新的索引 要创建Zend_Search_Lucene索引,可以使用Zend_Search_Lucene的构造函数。 __construct($directory = null, $create = false) 23.2.3 索引的常用方法 Zend_Search_Lucene提供了许多有用的方法用于获取索引对象的相关信息并对其进行操作。本小节来介绍常用的索引对象的方法,合理使用这些方法会有助于用户对索引对象进行更符合实际情况的操作。 1.获取索引的路径 2.获取文档的数目 3.设置与获取默认搜索字段 4.获取所有字段名称 23.3 搜索索引 上一节介绍了如何创建索引及索引对象的常用方法,本节继续来介绍如何对索引进行搜索。本节内容将按照对索引进行搜索的三个步骤,即建立查询、搜索结果以及结果评分来分别作介绍。 23.3.1 建立查询 使用过数据库搜索的读者都知道,要对数据库进行搜索,关键是要创建相应的SQL语句。而要对Zend_Search_Lucene索引执行搜索,也需要相应的 查询(Query)。有两种方法可以在索引中进行搜索,第一种方法是使用查询分析程序(Query Parser)来从字符串中创建查询;第二种方法是通过Zend_Search_Lucene提供自己创建的API进行查询。 23.3.2
您可能关注的文档
最近下载
- 基于灰色关联理论的广西农产品供应链影响因素分析.docx
- 关于绑架的小故事-绑架关起来的故事.docx VIP
- 游戏公司UI设计师面试题.docx VIP
- 基于模糊层次分析和灰色关联分析的供应商评价选择研究.pdf VIP
- 关于层次分析法和灰色关联分析法的研究详解.doc VIP
- 高考一轮复习讲义第一讲学生 三角函数的概念同角三角函数关系式与诱导公式.doc VIP
- 高考数学 一轮复习讲义 任意角的三角函数.docx VIP
- 国际贸易实务实训教程.pdf VIP
- 高考数学 一轮复习讲义 -简单的三角恒等变换.docx VIP
- 如果要写年(带歌词完整版毛不易2024春晚歌曲) 高清钢琴谱五线谱.docx VIP
原创力文档

文档评论(0)