2010-03-01 29 views
12

Şema düzenlerken faset araması yerleşik mi geliyor yoksa bunu ayarlamak için bazı şeyler yapmanız gerekiyor mu? Solr ve faset araması

Basitçe sıralanabilir olması kurulum var tüm alanları kutunun dışında çalışıyor mu?

o zaman sadece fq sorgu sözdizimini kullanın ve arama sonuçlarıyla birlikte faset xml dönecek?

size çevresinde ilk defa yardımcı olduğu bu güzel bir makale var mı?

cevap

18

Evet, kutunun dışında herhangi endeksli alanını faset edebilirsiniz. Ancak, size configure faceting fields according to your data types'a kadar beklediğiniz sonuçları vermeyebilir.

Gemologists etkin ve facet.* parameters üzerinden kullanılması, FQ değil. Kullanıcı , bir yön değeri seçtiğinde fq kullanılır.

Bazı iyi Solr öğreticiler:

+0

@Mauricio_Scheffer herhangi bir proje biliyor musunuz - github veya codeplex - solr veya Lucene - Şu anda kriter için uygulanan aramayı yönlü olduğunu -! brgds. –

+1

@sebastian_h bu soruyu sormak için uygun yer http://lucene.apache.org/solr/discussion.html olacaktır. Ama tam olarak ne ölçmek istiyorsun? Solr/Lucene performansını etkileyen yapılandırma, sorgulama ve şema tasarımında onlarca faktör var. –

+0

@Mauricio_Scheffer Cevabınız için teşekkür ederiz. Bu alandaki yeniliklerden ötürü, C# 'daki herhangi bir projenin, örneğin solr'u uygulayan bir yaklaşımı görmek için mevcut olup olmadığını merak ediyordum. brgds! –

10

Evet, Sadece istek Url için &facet=true&facet.field={fieldname} ekleyin. Apache solr referans kılavuzundan Faceting

+1

URL artık eklenemez. Bunu http://searchhub.org/2009/09/02/faceted-search-with-solr/ – paranza

+0

ile değiştirebilirsiniz. Teşekkürler. Güncelleyeceğim. –

2

SolrNet paketini kullanarak C# aşağıdaki kod,. Faset, SOLR'da depolanan alanlarda yapabileceğiniz, daha iyi sonuçlar almak için dizgisinin olduğundan ve boşluğunun bulunmadığından emin olabilirsiniz. Mincount, faset içinde listelenecek minimum sayıyı sınırlamak içindir.

 QueryOptions options = new QueryOptions 
     {     
      Facet = new FacetParameters 
      { 
       Queries = new ISolrFacetQuery[] 
       { 
        new SolrFacetFieldQuery("field1"), 
        new SolrFacetFieldQuery("field2") 
       }, 
       MinCount = 20 
      } 
     }; 

Ve sonuçları almak için aşağıdaki kod, sorgu - arama sorgusuna göre girilir.

var result = solr.Query(query, options);