Ben Zend_Search_Lucene, Java Lucene PHP noktasını kullanıyorum. Şu anda en az bir indeks alanı sunulan dizelerin her hangi maçlar için arama sonuçları, dizelerden oluşan bir dizi dayalı bir arama sorgusu inşa edecek bazı kodlar var. Basitleştirilmiş, bu gibi görünüyor:
(Not: $ kelimeler kullanıcı girişi yapılmış bir dizidir.)
$query = new Zend_Search_Lucene_Search_Query_Boolean();
foreach ($words as $word) {
$term1 = new Zend_Search_Lucene_Index_Term($word, $fieldname1);
$term2 = new Zend_Search_Lucene_Index_term($word, $fieldname2);
$multiq = new Zend_Search_Lucene_Search_Query_MultiTerm();
$multiq->addTerm($term1);
$multiq->addTerm($term2);
$query->addSubquery($multiq, true);
}
$hits = $index->find($query);
Bir joker terim haline çevirerek, her kelimenin sonuna bir yıldız ekleme - Ne like yapmak istiyorum yerine $word ($word . '*') ile.
Ama sonra, $ multiq bir Zend_Search_Lucene_Search_Query_Wildcard yerine Zend_Search_Lucene_Search_Query_MultiTerm olması gerekir, ve ben hala her {[(2) birden Index_Terms eklemek mümkün olacağını sanmıyorum }].
Joker ve MultiTerm hem de bir sorgu oluşturmak için bir yolu var mı?
Teşekkürler!