Zend_Search_Lucene - странное поведение для поиска с подстановочными знаками и «числовой» строки - PullRequest
1 голос
/ 05 марта 2012

Странная проблема, которую я получаю каждый раз, когда я ищу «11.11» или «22.22» и т. Д. ... Нет проблем, если я ищу «aa.aa», но когда я добавляю в строку только целые числа, я получаю следующее исключение:

Поиск с подстановочными знаками поддерживается только для слов, не состоящих из нескольких слов

Моя реализация поиска Zend выглядит следующим образом (ZF 1.11):

Zend_Search_Lucene_Search_Query_Wildcard::setMinPrefixLength(0);

Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
    new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8Num_CaseInsensitive()
);

$index = Zend_Search_Lucene::open(APPLICATION_PATH.'/../var/search');

if(str_word_count($searchQuery) > 1){

    $searchQuery = Zend_Search_Lucene_Search_QueryParser::escape($searchQuery);

    $searchQueryArray = explode(' ', $searchQuery);
    $query = new Zend_Search_Lucene_Search_Query_Phrase($searchQueryArray);
}else{

    $searchQuery = Zend_Search_Lucene_Search_QueryParser::escape($searchQuery);

    $query = Zend_Search_Lucene_Search_QueryParser::parse(
        'title:*'.$searchQuery.'* OR
        description:*'.$searchQuery.'* OR 
        content:*'.$searchQuery.'*'
    );
}

$result = $index->find($query);

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

...