Странная проблема, которую я получаю каждый раз, когда я ищу «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);
Я не могу найти ни одной связанной проблемы в Интернете, поэтому, пожалуйста, дайте мне знать, если вы когда-либо сталкивались с подобной проблемой.Спасибо.