SORU
30 Mart 2011, ÇARŞAMBA


Lucene Analiz karşılaştırma

Birisi Lucene içinde farklı çözümleyicileri arasındaki farkı açıklayabilecek olan var mı? MaxClauseCount bir istisna alıyorum ve bir KeywordAnalyzer kullanarak bunu önlemek anladığım kadarıyla ama sorunlar analiz çevresindeki anlamadan StandardAnalyzer değiştirmek istemiyorum. Çok teşekkür ederim.

CEVAP
30 Mart 2011, ÇARŞAMBA


Genel olarak, Lucene herhangi bir çözümleyici stop-kelime tokenizer sözcük kökü ayırıcı filtre.

Tokenizermetin parçalara böler ve farklı analizci, farklı tokenizers kullanabilirsiniz beri, farklı çıkış alabilirsinizsimge akarsuyani dizileri parçaları metinleri. Örneğin, bahsettiğiniz KeywordAnalyzermetin hiç bölme yokve tek bir belirteç olarak sahaya giriyor. Aynı zamanda, StandardAnalyzer (ve diğer birçok analizci), boşluk ve noktalama işareti olarak bölünmüş puan kullanın. İfade için örneğin, "çok mutluyum" liste üretecektir ["i", "am", "", ""] mutlu (ya da onun gibi bir şey). çok Özel analiz cihazları hakkında daha fazla bilgi için/Java Docs bakın tokenizers.

Sözcük köklerinisoru bir sözcük tabanı elde etmek için kullanılır. Bu oldukça ağır bir dil kullanılmış. Örneğin, bir önceki cümle İngilizce olacak bir şey gibi ["", "", "veri", "happi"] üretilen ve Fransızca "Je I'm très heureux" bir tür Fransız çözümleyici (SnowballAnalyzer, başlatılmış olan "Fransız") vasiyet ["je", "être", "tre", "heur"]. Eğer başka bir metin kök bir dil çözümleyici kullanacaksanız tabii ki, başka bir dil kullanılacak ve yanlış sonuçlar doğurabilir kökü kuralları. Tüm sistemin başarısız değil, ama arama sonuçları o zaman daha az doğru olabilir.
Herhangi bir sözcük köklerini kullanmaz KeywordAnalyzer, alan değiştirilmemiş tüm geçirir. Eğer bazı kelimeler İngilizce metin arama yapacaksanız, bu çözümleyici kullanmak iyi bir fikir değil.

Kelimeleri bıraken sık ve neredeyse işe yaramaz sözler. Yine, ağır diline bağlıdır. İngilizce için bu kelimeleri "", "","","","", vb. var olmak bir Stop-kelime filtreleri kaldırmak onlardan token akışı için daha düşük ses arama sonuçları, sonunda bizim ifade "çok mutluyum" ile StandardAnalyzer olacak dönüştürdü liste ["veri", "happi"].
Ve KeywordAnalyzer yine hiçbir şey yapmaz. Yani, KeywordAnalyzer normal metin için KİMLİK ya da telefon numaraları gibi şeyler için, ama kullanılmaz.

Ve maxClauseCount sizin özel durum için, arama alacaksın inanıyorum. Bu durum muhtemelen çok karmaşık bir arama sorgusu yüzünden. Split için birkaç sorgu deneyin veya daha düşük seviyeli fonksiyonları kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • discokatze

    discokatze

    23 EYLÜL 2009
  • Elly Awesome

    Elly Awesome

    15 ŞUBAT 2010
  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007