第二十三章文本搜索引擎〔ZendSearchLucene〕.pptVIP

第二十三章文本搜索引擎〔ZendSearchLucene〕.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二十三章文本搜索引擎〔ZendSearchLucene〕

第23章 文本搜索引擎(Zend_Search_Lucene) 通常的网站系统中,全站搜索是一个非常实用又十分便捷的功能。用户可以使用此功能在最短的时间内找出自己所需要的信息。通常的全站搜索功能都是需要数据库后台支持的,因为这样可以使用SQL语句强大的查询功能,而同样的文本搜索引擎则相对较少。本章所要介绍的Zend_Search_Lucene就是Zend Framework所提供的基于文本的通用搜索引擎。通过本章内容的学习,读者可以领会到使用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

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档