2008-09-17 19 views
3

Bir süredir (Java) Highlighter for Lucene (Sandbox paketinde) kullanıyorum. Ancak, arama sonuçlarında doğru terimleri eşleştirmek söz konusu olduğunda bu gerçekten çok doğru değildir. Örneğin, basit sorgularda iyi çalışır, örneğin iki ayrı kelimeyi aramak, sonuçlarda her iki kod parçasını da vurgulayacaktır. Bununla birlikte, daha karmaşık sorgularla iyi hareket etmemektedir. En basit durumda, "Yığın Taşması" gibi ifade sorguları, vurgulamadaki tüm Yığın veya Taşma olayları ile eşleşir; bu, kullanıcıya çok iyi çalışmadığı izlenimini verir.Lucene için hızlı, doğru bir Highlighter var mı?

here numaralı düzeltmeyi uygulamayı denedim, ancak bu birçok performans uyarısıyla birlikte geldi ve günün sonunda yalnızca kullanılamadı. Performans, özellikle joker karakterli sorgular konusundaki bir sorundur. Bu, vurgulamanın işe yaramasıyla ilgilidir; sadece queristring üzerinde çalışmak yerine ve Lucene'nin yaptığı gibi ayrıştırdığı metin ve sonra Lucene'nin yaptığı tüm maçları arar; Maalesef bu, belirli joker karakter sorguları için, büyük belgelerde 2000+ maddeye kadar eşleşmeleri arayabileceği anlamına gelir ve sadece yeterince hızlı değildir.

Doğru bir işaretleyicinin daha hızlı uygulanması var mı?

+0

bağlantısını 'lucene için Vurgulayıcı' dir şu anda bozuk. – pro

+0

Bunu işaretlediğiniz için, bağlantıyı düzelttim. –

+0

Artık Lucene 3.0.0'ın çıktığı, herşeyin yeni bir şey yapmasını sağlayacak olan herşeyi yükseltmeniz gerektiğini öğrenmelisiniz. NASIL - Vurgulayıcı'nın şimdi de katkıda bulunan bir lümen hafızasına bağlı olduğuna dikkat edin (bu sadece tam eşleşmeleri vurguladığınızda görünecektir) –

cevap

1

Solr. http://lucene.apache.org/solr

Solr, Lucene'yi kullanan ve vurgulamayı destekleyen bir tür genel arama uygulamasıdır. Solr'daki vurgulamanın Solr dışında bir API olarak kullanılabilir olması mümkündür. Solr'un ilham için nasıl çalıştığına da bakabilirsiniz.

+0

Solr'a bir göz attığınız için teşekkürler - Sanırım her zaman Nutch ile karıştırdım. geçmiş ve aynı şey olduklarını farz ettiler, aptalca. Ben Solr docs bir PhraseHighlighter ve bir standart Fosforlu ayırmak gibi görünüyor, bu yüzden ben çok güven aşılamadım korkarım :( –

+1

Ne yazık ki, solr vurgulayıcı sadece Lucene Sandbox'ta vurgulayıcıya delege - it hiçbir şey yapmaz zeki :( –

1

Konuyla ilgili bir şeyler okudum ve eşleştirilen terimin veya eşleşen alanın koşullarının size geri döneceği spanQuery numaralı telefona rastladım. Yeni bir hızlı vurgulayıcı yoktur

İlgili konular