Zend_Search_Lucene创建PHP站内搜索
Zend_Search_Lucene 是一个完全由 PHP 5 编写的通用文本搜索引擎。由于其将索引保存在文件系统中而不需要数据库支持,因此它几乎可以为任何由 PHP 驱动的网站增加搜索能力。Zend_Search_Lucene 支持下列特性:
具有排名功能的搜索——最符合要求的结果出现在最前面
许多强大的查询类型:短语查询、通配符查询、近似查询、范围查询等 [6]
搜索特定的字段,如标题、作者、内容,等等
Zend_Search_Lucene 来源于 Apache Lucene project。要了解关于 Lucene 的更多详情,请访问 http://lucene.apache.org/java/docs/
。
首先创建建立索引文件,如下示例:
index.php
<?php
require_once 'Zend/Search/lucene.php'; require_once 'CN_Lucene_Analyzer.php'; Zend_Search_Lucene_Analysis_Analyzer::setDefault(new CN_Lucene_Analyzer()); $index = new Zend_Search_Lucene('index1', true); $doc = new Zend_Search_Lucene_Document(); $doc->addField(Zend_Search_Lucene_Field::Text('url', 'http://www.eyuwo.com', 'UTF-8')); $Text='this is just a test of Zend_Search_lucene. 说些什么呢,别没事找事啊,真不够哥们,繁體能不能被搜索到呢,测试一下啊.'; $Text.='非常簡單的實作;然而就全文檢索來說還是有缺點的!首先,建立分詞索引時必定會耗費系統資源,故比較好的做法是批次定時處理建立索引的動作。第二點是中文的問題,因為中文字詞與連貫的句子的關係,在分詞時是以二個字為一個詞的最基本單位,所以單一個中文字是不會有任何搜尋結果的。最後因為建立分詞索引為觸發事件,如果沒有去觸發它就無法更新分詞至目前資料庫的最新狀態。我覺得分詞索引的方式很像是MySQL的View資料表,也是將資料表中的欄位作一個資料上的更新,只是它沒有欄位的限制,可以針對建立的「詞」索引進行搜尋。就某方面來說是很好用的功能,也不失為中文在全文索引
相关文档:
第1章 LAMP网站构建 1
1.1 网站软件简介.... 1
1.1.1 B/S软件体系结构... 1
1.1.2 动态网站介绍... 2
1.2 动态网站软件开发所需的Web构件.... 3
1.2.1 客户端浏览器... 4
1.2.2 扩展超文本标记语言XHTML. 5
1.2.3 层叠样式表CSS. 6
1.2.4 ......
原文链接:http://www.phpdo.net/index.php/2010/01/29/1-5/
以下代码是几个表达式的例子:
$a = “phpdo.net”;
$sum = $var_a + $var_b;
$i++;
PHP中运算符是表达式中对运算符进行操作的符号,包括算术运算符,字符串运算符和逻辑运算符等。
PHP有一个与C语言类似的概念&mdash ......
在php中测试单个文件上传和在网上浏览了很多关于多文件上存,大多都是差不多一样的。只是上传多个文件用post传递时是数组传递,如<input type="file" name="pic[]" id="pic">而单个文见上传<input type="file" name="pic" id="pic">。
提交数据时,多个文件用foreach 来循环,其他限制和单个文件上传都是 ......
原文链接:http://www.phpdo.net/index.php/2010/01/30/1-6/
不论是PHP还是别的语法,程序总是由若干条语句组成。
从执行方式上看,语句的控制结构分为以下三种:
1、 顺序结构:从第一条语句到最后一条语句完全顺序执行;
2、 选择结构:根据用户输入或语句的中间结果去执行若干任务;
3、&n ......
1)
安装Apache/2.2.14 和 PHP/5.2.12 之后,重新启动Apache,启动失败。查了一些资料,基本上给出的建议是禁掉Extension。我就装了一个Extesion Mysqli。
修改php.ini 注释掉这一行,果然生效。
[PHP_MYSQLI]
;extension=php_mysqli.dll
安装完mysql,再重新enable这个配置就好了,估计是依赖某些mysql的库。
......