您可以在索引编制期间设置字段提升.这假设您将数据放在两个不同的字段中.如果要将所有数据存储在一个大的合并字段中,则需要编写自定义记分器.
var field = new Field("title", "My title of awesomeness", Field.Store.NO, Field.Index.Analyzed);
field.SetBoost(2.0);
document.Add(field);
Run Code Online (Sandbox Code Playgroud)
要搜索,请使用同时搜索标题和正文的BooleanQuery.
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.
Run Code Online (Sandbox Code Playgroud)