2012-09-30 136 views
7

ZF1有一个gread search lucene实现。 ZF2有没有类似的东西?我无法找到任何东西...Zend Framework 2搜索Lucene?

+0

[zf2中的Lucene搜索]的可能重复(http://stackoverflow.com/questions/12403475/lucene-search-in-zf2) – halfer

回答

10

这是ZendSearch的一部分,你会发现它在这里https://github.com/zendframework/ZendSearch

如果你通过,你会发现Lucene的文件夹下钻,但你可能会需要请按照链接到的第一页上的自述文件中的说明安装整个内容。

另外,您可以cd到您的供应商目录,然后运行: -

git clone https://github.com/zendframework/ZendSearch.git 

将创建ZendSearch模块,然后你可以将它添加到你的列表中application.config.php

而且请参阅Zend Framework package repository

+2

可以请你分享任何文件或链接如何在zf2中实现它将很大的帮助。 – Jeet

1

这是Zend框架3/Zend的搜索

下面的代码将帮助您开始使用Zend的搜寻工作:

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的时间搜索期望ErrorHandler ::可用,它是Zend的Stdlib的一部分。我相信这已经从stdlib中删除了,所以我简单地用try/catch块替换了这些调用。

除了上述示例 - ZF v1手册中的代码提供了一个很好的基础,可以在功能方面进行工作:https://framework.zend.com/manual/1.12/en/zend.search.lucene.overview.html

+1

关于zf3,根据这个问题https://github.com/zendframework/ZendSearch/issues/24 ZendSearch被放弃并且在PHP7上有问题 – HappyDude