CakePHP с Lucene

Я пытаюсь реализовать Lucene с помощью cakephp и следую этому руководству http://jamienay.com/2010/01/zend_search_lucene-datasource-for-cakephp/

Получаю эту ошибку

ConnectionManager::loadDataSource - Невозможно импортировать класс DataSource.ZendSearchLuceneSource

я поместил файлы продавца в app / vendors/Zend/

Добавил это в bootstrap.php

ini_set('include_path', ini_get('include_path') . ':' . CAKE_CORE_INCLUDE_PATH . DS . '/vendors');

/**
 * AutoLoading Zend Vendor Files
 */
function __autoload($path) {
    if(substr($path, 0, 5) == 'Zend_') {
        include str_replace('_', '/', $path) . '.php';
    }
    return $path;
}

добавил это в базу данных конфигурации

var $zendSearchLucene = array(
    'datasource' => 'ZendSearchLucene',
    'indexFile' => 'lucene', // stored in the cache dir.
    'driver' => '',
    'source' => 'search_indices'
);

Добавить созданную модель с именем search.php

<?php
class Search extends AppModel {
    var $useDbConfig = 'zendSearchLucene';

}
?>

Прямо сейчас я создал контроллер под названием поиск, как это

<?php
class SearchController extends AppController {

    var $name = 'Search';

    function index(){

    }


}
?>

когда я захожу на сайт / поиск получаю эту ошибку.

1 ответ

Решение

Не уверен, что это все еще относится к вам, но я только начал использовать тот же источник данных и столкнулся с теми же проблемами. Я обновил источник данных для Cake 1.3, и теперь он должен работать.

Взгляните на мой форк проекта на Github:
https://github.com/deceze/zend_search_lucene_source

Если у вас возникнут какие-либо проблемы, пожалуйста, откройте для них билеты. Я посмотрю, смогу ли я их починить. Источник данных является хорошей основой, но может потребоваться некоторое обновление и расширение.

Другие вопросы по тегам