2010-12-30 20 views

cevap

7

Dizin oluşturma sırasında bir alan artığı ayarlayabilirsiniz. Bu, verilerinizin iki farklı alanda olduğunu varsayar. Tüm verileri büyük bir birleştirilmiş alanda saklamak istiyorsanız, özel bir puanlayıcı yazmanız gerekir.

var field = new Field("title", "My title of awesomeness", Field.Store.NO, Field.Index.Analyzed); 
field.SetBoost(2.0); 
document.Add(field); 

Aramak için, hem başlığı hem de gövdeyi arayan bir BooleanQuery'yi kullanın.

var queryText = "where's my awesomeness"; 
var titleParser = new QueryParser(Version.LUCENE_29, "title", null); 
var titleQuery = titleParse.Parse(queryText); 
var bodyParser = new QueryParser(Version.LUCENE_29, "body", null); 
var bodyQuery = bodyParser.Parse(queryText); 

var mergedQuery = new BooleanQuery(); 
mergedQuery.Add(titleQuery, BooleanClause.Occur.Should); 
mergedQuery.Add(bodyQuery, BooleanClause.Occur.Should); 
// TODO: Do search with mergedQuery. 
İlgili konular