Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在solr中如何在查询时提升某个字段_Java_Solr_Lucene - Fatal编程技术网

Java 在solr中如何在查询时提升某个字段

Java 在solr中如何在查询时提升某个字段,java,solr,lucene,Java,Solr,Lucene,我试图在查询时使用solr配置文件提升某个字段。我知道我可以使用qf使用field^boost语法指定字段列表,但我不希望在执行常规查询时,我的字段自动包含在搜索字段中 因此,假设我希望authors字段增加4.0,但对“something”执行默认查询,并在qf中使用boost2.0将标题和正文都包含在qf中,我将得到一个解析查询,如“something”上的(title:something^2.0或body:something^2 authors:john^4.0)和“something a

我试图在查询时使用solr配置文件提升某个字段。我知道我可以使用qf使用field^boost语法指定字段列表,但我不希望在执行常规查询时,我的字段自动包含在搜索字段中

因此,假设我希望authors字段增加4.0,但对“something”执行默认查询,并在qf中使用boost2.0将标题和正文都包含在qf中,我将得到一个解析查询,如“something”上的(title:something^2.0或body:something^2 authors:john^4.0)和“something authors:john”上的(title:something^2.0或body:something^2)。我希望这个字段在查询时间上得到提升,而不是在索引上

编辑:到目前为止,我所想到的只是编写另一个搜索组件,将提升附加到解析原始qString的字段,然后将其转发给查询组件。我仍然很感激任何关于天气的输入,这可以通过使用预定义的solr配置设置来实现

如果有任何问题,我正在使用edismax查询解析器


提前感谢

您所描述的内容听起来就像是索引时间字段的增强。为什么必须在查询时应用它?据我所知,索引时间提升需要额外的内存(您必须在该特定字段上设置规范),我希望避免这种情况。是的,您所要求的是使用规范来完成的。我们有理由假设索引规范是您可以使用的最有效的实现,除非您有理由相信不是这样。您当前是否已将索引设置为忽略规范?如果是这样的话,那么你就隐式地失去了添加推荐风格以及基于字段长度的评分的能力。否则,添加字段级提升不会影响内存使用,因为您已经在存储规范(字段提升存储在与默认索引的长度规范相同的字节中)。