【发布时间】:2012-09-30 13:42:49
【问题描述】:
ZF1 有一个很好的搜索 lucene 实现。 ZF2有类似的东西吗?我什么都找不到...
【问题讨论】:
-
Lucene Search in zf2 的可能重复项
标签: zend-framework2 zend-search-lucene
ZF1 有一个很好的搜索 lucene 实现。 ZF2有类似的东西吗?我什么都找不到...
【问题讨论】:
标签: zend-framework2 zend-search-lucene
它是 ZendSearch 的一部分,您可以在这里找到它https://github.com/zendframework/ZendSearch
如果您向下钻取文件夹,您会发现 Lucene,但您可能需要按照我链接到的第一页上的自述文件中的说明安装整个东西。
或者,您可以 cd 进入您的供应商目录并运行:-
git clone https://github.com/zendframework/ZendSearch.git
这将创建 ZendSearch 模块,然后您可以将其添加到 application.config.php 中的模块列表中
【讨论】:
这适用于 Zend Framework 3 / Zend Search
以下代码将帮助您开始使用 Zend Search:
use ZendSearch\Lucene\Lucene;
use ZendSearch\Lucene\Document;
use ZendSearch\Lucene\Document\Field;
use ZendSearch\Lucene\MultiSearcher;
$index = Lucene::create($path_to_index); // or use open to update an index
$document = new Document;
$document->addField(Field::Text($key,$value));
$index->addDocument($document);
$search = Lucene::open($path_to_index);
$search->find($str);
值得注意的是,在撰写本文时 Zend Search 期望 ErrorHandler:: 可用,它是 Zend 的 Stdlib 的一部分。我相信这已经从 stdlib 中删除了,所以我只是用 try/catch 块替换了这些调用。
除了上面的例子 - ZF v1 手册中的代码提供了一个很好的功能基础:https://framework.zend.com/manual/1.12/en/zend.search.lucene.overview.html。
【讨论】: