Neden analizörü Zend.Search.Lucene küresel tanımlanır?

2 Cevap php

Ben sadece Zend lucene uygulama birden çok endeksler üzerinde çalışıyorum ya ben bir fonksiyonu eksik ediyorsam Zend_Search_Lucene_Analysis_Analyzer::setDefault() , but I couldn't find a way to override that default when performing a query. Do I really need to reset the default analizörü kullanılarak değiştirilebilir varsayılan bir analizi var olduğunu fark?

2 Cevap

Lucene için orijinal Java API olarak, QueryParser bir analyzer argüman alır. Ben onlar Zend Framework global bir değişken kullanmaya karar neden emin değilim, ama görünüşe göre analizörü ayarı küresel bunu yapmak için tek yoldur.

Varsayılan (Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive) tamsayılar tarafından arama izin vermez çünkü TextNum analizörü kullanın.

Varsayılan geçersiz kılmak için, ben çalıştırın:

Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum());