Я использую zend_search_lucene для поиска ключевого слова в документах. В одном из документов есть фраза This taught me a valuable lesson in time management as I still had to attend lectures and tutorials during the day. I enjoyed improving my telephone manner and learning to deal with different reactions to my requests for donations.
Теперь, если поискать «ценный урок по тайм-менеджменту», это ничего не даст. Я использую приведенный ниже код для его поиска.
Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive());
$index = new Zend_Search_Lucene('/home/project/mgh/data/search_file/lucene.customer.index');
Zend_Search_Lucene::getDefaultSearchField('contents');
$results = $index->find('contents:"valuable lesson on cost management" ');
$this->count=count($results);
здесь, в приведенном выше примере, есть только несоответствие, вместо «in» есть «on», но остальные слова сопоставляются. Как получить количество результатов, если несколько слов совпадают (даже если несколько слов не совпадают)?
Спасибо за предложения.
Ссылка: http://framework.zend.com/manual/en/zend.search.lucene.query-language.html