php中调用lucene实现网站的全文检索
2008-11-27 09:30
405 查看
公司网站要实现全文检索,目前php中有sphnix和zendframework中的lucene可以实现全文检索。经过实践发现sphnix不够稳定,而zf中的lucene基本上只算是个玩具,没法在实践中使用。经过实验,发现可以用lucene(java)实现全文检索功能,然后在php中调用。
一、java lucene实现全文检索
1、下载lucene http://dev.xiaonei.com/apache-mirror/lucene/java/ 2、下载完成后,搭建java环境,具体请google相关文章。
3、按照lucene文档,将数据库中的数据转换为lucene本地索引(具体过程会单写一篇文章)
4、建立SearchEnginne文件,search(String keyword)方法实现实现全文检索(全文检索里很重要的一个问题是中文分词,可以使用lucene默认的分词方式,也可以自己实现)
5、最后将项目export成一个jar文件(lucene.jar)
二、php调用lucene.jar(目前只实现了windows平台下的调用,linux平台下的调用等实践完成后再附上)
最后就剩下php调用了。要在php中调用java,需要借用转换工具php-java-bridge
1、下载php-java-bridge(http://php-java-bridge.sourceforge.net/pjb/)
2、解压缩php-java-bridge后进入php-java-bridge,再解压缩javabridge.war到javabridge.
3、在apache的web目录下新建一个目录websearch,复制php-java-bridge/javabridge下的java及WEB-INF目录到websearch
4、复制前面生成的lucene.jar到websearch
5、新建lucene.php
<?php
require_once("java/java.inc");
java_require("$webroot/websearch/lucene.jar");
auto_load();
$keyvalue = $_GET["key"]; //搜索关键字
if($keyvalue == "")
{
exit();
}
$search = new Java("SearchEnginne"); //创建全文检索对象
$result = java_values($search->search("$keyvalue")); //得到全文检索结果
?>
6、运行websearch/WEB-INF/lib/javabridge.jar,选择localhost:8080点击确定
7、运行lucene.php,即可看到全文检索的结果
以上是个人体会,如有不妥,希望高手交流指正
一、java lucene实现全文检索
1、下载lucene http://dev.xiaonei.com/apache-mirror/lucene/java/ 2、下载完成后,搭建java环境,具体请google相关文章。
3、按照lucene文档,将数据库中的数据转换为lucene本地索引(具体过程会单写一篇文章)
4、建立SearchEnginne文件,search(String keyword)方法实现实现全文检索(全文检索里很重要的一个问题是中文分词,可以使用lucene默认的分词方式,也可以自己实现)
5、最后将项目export成一个jar文件(lucene.jar)
二、php调用lucene.jar(目前只实现了windows平台下的调用,linux平台下的调用等实践完成后再附上)
最后就剩下php调用了。要在php中调用java,需要借用转换工具php-java-bridge
1、下载php-java-bridge(http://php-java-bridge.sourceforge.net/pjb/)
2、解压缩php-java-bridge后进入php-java-bridge,再解压缩javabridge.war到javabridge.
3、在apache的web目录下新建一个目录websearch,复制php-java-bridge/javabridge下的java及WEB-INF目录到websearch
4、复制前面生成的lucene.jar到websearch
5、新建lucene.php
<?php
require_once("java/java.inc");
java_require("$webroot/websearch/lucene.jar");
auto_load();
$keyvalue = $_GET["key"]; //搜索关键字
if($keyvalue == "")
{
exit();
}
$search = new Java("SearchEnginne"); //创建全文检索对象
$result = java_values($search->search("$keyvalue")); //得到全文检索结果
?>
6、运行websearch/WEB-INF/lib/javabridge.jar,选择localhost:8080点击确定
7、运行lucene.php,即可看到全文检索的结果
以上是个人体会,如有不妥,希望高手交流指正
相关文章推荐
- 用PHP调用Lucene包来实现全文检索
- [转]用PHP调用Lucene包来实现全文检索
- 用PHP调用Lucene包来实现全文检索(转)
- 用PHP调用Lucene包来实现全文检索
- 用PHP调用Lucene包来实现全文检索
- 用PHP调用Lucene包来实现全文检索
- [转]用PHP调用Lucene包来实现全文检索
- 用PHP调用Lucene包来实现全文检索
- [全文检索]用PHP调用Lucene包来实现全文检索
- [转]用PHP调用Lucene包来实现全文检索
- php通过调用lucene库实现检索应用
- PHP 中文分词及全文检索的实现
- 基于MySQL数据库的UTF8中文网站全文检索的实现
- PHP+MYSQL实现全文检索及全文检索工具
- 使用Lucene-Spatial实现集成地理位置的全文检索
- android+lucene实现全文检索并高亮关键字
- paip.;论全文检索实现方式lucene Sphinx solr以及比较
- 使用lucene实现简单的全文检索
- lucene全文检索实现流程
- 使用Lucene-Spatial实现集成地理位置的全文检索