2010-03-11 23 views
13

numaralı telefonun içerdiği alana dayalı olarak, bir tarama ve arama altyapısı arıyorsanız ve Solr. Mutlaka ihtiyacımız olan bir özellik, sonuçları vurmanın içerdiği alana göre artırmaktır.Boost Solr sonuçları,

Bir küçük örnek: Ben örneğin birleştirmek istediğiniz

<movie> 
    <title>The Dark Knight</title> 
    <alternative_title>Batman Begins 2</alternative_title> 
    <year>2008</year> 
    <director>Christopher Nolan</director> 
    <plot>Batman, Gordon and Harvey Dent are forced to deal with the chaos unleashed by an anarchist mastermind known only as the Joker, as it drives each of them to their limits.</plot> 
</movie> 

unvanı, alternative_title ve arsa sonra çok zor değil bir arama alanına içine alanlar:

böyle bir kayıt düşünün Solr/Lucene belgelerine ve öğreticilerine bakıyor. Bununla birlikte, isabetli bir isme sahip olan filmlerin, altern_title'deki isabetlerden daha yüksek bir puana sahip olmasını ve sıradakilerin, arsa alanındaki isabetlerden daha yüksek puan almasını istiyorum. xml'de bu tür puanlamayı belirtmenin bir yolu var mı yoksa bazı özel skorlama algoritmaları geliştirmemiz gerekiyor mu?

Ayrıca, verdiğim örneğin kurgusal olduğunu ve gerçek verilerin muhtemelen 100+ alan içereceğini de unutmayın. peşin

sayesinde

cevap

6

ben solr kullanmadıysanız, ama lucene kullandım. baktığımızda:

http://wiki.apache.org/solr/SolrQuerySyntax

O solr sorgu sözdizimi Lucene en üst kümesidir belirtiyor. Ve Lucene içinde, sen giriş ve alan bazında artırır gerçekleştirebilir yolu, bazı keyfi değeri ve ardından havuç operatörünü kullanmaktır

title:batman^10 alternative_title:batman

sorgu sırasında bunu yapmanın avantajı çimdik olmasıdır yani Sahip olduğunuz alaka düzeyine uymak için anında değeri artırın. Yani, 10'luk bir yükseltme değeri çok yüksekse, buna göre bunu değiştirebilirsiniz.

11

Bu, Solr's DismaxQueryParser için tasarlanmıştır. Bkz. http://wiki.apache.org/solr/DisMaxRequestHandler

Çok fazla parametre var, ancak özelleştirmeniz gereken asıl konu "qf", hangi alanların aranması gerektiğini ve her biri için destek olduğunu.^10 alternative_title^2 yönetmeni^1 arsa qf parametresi değeri olarak^1

başlığı: Eğer başlık hakim istiyorsanız Yani, böyle bir şey belirtiyor olabilir. Bunu, örnek yapılandırmayı ve denemeyi oradan özelleştirerek ayarlayabilirsiniz.