快速业务通道

在WebSphere sMash中集成Java和PHP - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
目,会发现一个名为 Index 的新目录。此目录包含 Lucene 搜索引擎产生的搜索索引文件,如图 10 中所示。

图 10. WebSphere sMash 应用程序的目录结构

在WebSphere sMash中集成Java和PHP - 编程入门网

将搜索查询添加到应用程序

最后一步是写入一个允许用户针对索引运行搜索的表单。

1、右键单击 public 文件夹并选择 New -> File.

2、将文件命名为 search.php 并单击 Finish.

3、在文件中添加以下代码:

  <html> <head>   <title>Query</title> </head> <body> <form name="input" action="/search.php" method="POST"> <label for="query">Search Query:</label>      <input type="text" name="query">     <input type="submit" name="action" value="Search!">   </form> </body> </html>

在WebSphere sMash中集成Java和PHP(12)

时间:2011-07-06 IBM Anthony Phillips,Zoe

4、运行此脚本,Web 浏览器中的情况将与图 11 所示类似。

图 11. 搜索查询页

在WebSphere sMash中集成Java和PHP - 编程入门网

5、接下来,将以下 PHP 代码添加到 search.php 中:

  <?php /** * This runs a search through an index already created. */ function search_index($path, $query) { echo "Searching for [".$query."]</br>"; $file = new Java("java.io.File", $path, FALSE); $file_directory = new JavaClass("org.apache.lucene.store.FSDirectory"); $directory = $file_directory->getDirectory($file); $searcher = new Java("org.apache.lucene.search.IndexSearcher", $directory); $analyser = new Java("org.apache.lucene.analysis.SimpleAnalyzer"); $parser = new Java("org.apache.lucene.queryParser.QueryParser", "contents", $analyser); $parsed_query = $parser->parse($query); $hits = $searcher->search($parsed_query); $count = $hits->length(); for ($index = 0; $index < $count; $index++) { $document = $hits->doc($index); echo $index.") ".$document->get("path")."</br>"; } echo "</br>Finished searching [".$count." hits]</br>"; } try { $directory = dirname(__FILE__)."/../index"; define("INDEX_DIRECTORY", $directory); $query = zget(''/request/params/query''); if (strlen($query) > 0) { search_index($directory, $query); } } catch (JavaException $exception) { echo "Index search failed [".$exception->getMessage()."]</br>"; } ?>

在WebSphere sMash中集成Java和PHP(13)

时间:2011-07-06 IBM Anthony Phillips,Zoe

和前面一样,此脚本使用了多个 Lucene 类。此脚本的要点在于,没有使用 index.php 之类的 IndexWriter 类,而使用了 IndexSearcher.其配置的目录与前面创建索引文件的目录相同。用户在该表单中输入的字符串将随后用于创建查询对象。Lucene QueryParser 提供了解析查询字符串的简单方法。

有了经过解析的查询后,脚本就准备好在 IndexSearcher 上运行搜索了。这将返回脚本所枚举的命中列表,显示每个项目的路径。

6、将 Web 浏览器指向 search.php 并输入一些搜索术语,如图 12 中所示。

图 12. 运行搜索查询的 Web 浏览器输出

在WebSphere sMash中集成Java和PHP - 编程入门网

在此示例中,找到匹配关键字“TSRM&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号