Lucene 多场QueryParser中的升压因子

Lucene 多场QueryParser中的升压因子,lucene,Lucene,我可以用不同的因子提升多字段查询器中的不同字段吗? 另外,我能分配给字段的最大增压系数值是多少 非常感谢! Ed多字段QueryParser有一个[constructor][1]可以接受提升映射。您可以将其与以下内容一起使用: String[] fields = new String[] { "title", "keywords", "text" }; HashMap<String,Float> boosts = new HashMap<String,Float>();

我可以用不同的因子提升多字段查询器中的不同字段吗? 另外,我能分配给字段的最大增压系数值是多少

非常感谢!
Ed

多字段QueryParser
有一个[constructor][1]可以接受提升映射。您可以将其与以下内容一起使用:

String[] fields = new String[] { "title", "keywords", "text" };
HashMap<String,Float> boosts = new HashMap<String,Float>();
boosts.put("title", 10);
boosts.put("keywords", 5);
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(
    fields, 
    new StandardAnalyzer(),
    boosts
);
String[]fields=新字符串[]{“title”、“keywords”、“text”};
HashMap boosts=newhashmap();
助推。推杆(“标题”,10);
推进。投入(“关键词”,5);
MultiFieldQueryParser queryParser=新的MultiFieldQueryParser(
领域,
新的StandardAnalyzer(),
促进
);
至于最大增压,我不确定,但无论如何你不应该考虑绝对增压。只要使用一个有意义的助推比率。另见


[1] :,java.lang.String[],org.apache.lucene.analysis.Analyzer,java.util.Map)

Hi,谢谢你的回答……我使用的是lucene.net 2.0.0.4版,我没有看到多字段QueryParser构造函数接受boost值。MultiFieldQueryParser MultiFieldQueryParser=新的MultiFieldQueryParser(字段,_analyzer);我可以知道你用的是哪个Lucene版本吗?谢谢。boosts参数仅在Lucene 2.4中可用。如果你不能升级,你可以考虑将代码复制到你自己的MyMutliFieldQueryParser中。代码不多。您可能需要从java移植代码。。。我在网上找不到lucene.net的源代码(svn.apache.org在ATM上)。