Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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 如何为特定字段赋予权重?_Java_Search_Indexing_Gwt_Solr - Fatal编程技术网

Java 如何为特定字段赋予权重?

Java 如何为特定字段赋予权重?,java,search,indexing,gwt,solr,Java,Search,Indexing,Gwt,Solr,我正在使用ApacheSolr进行索引和搜索。我必须赋予特定字段权重,这样如果我进行搜索,那么搜索必须在权重最大的字段上执行,然后在其他字段上执行 我正在使用SolrJ、Java和GWT进行开发。使用dismax(或edismax)查询处理程序,您可以设置qf(查询字段)参数来为不同的字段分配提升。它使用以下格式: 字段1^增压值字段2^增压值…等 还有其他一些很好的参数可以帮助您控制结果排名 要在索引时增强,您需要在更新文档中提供一条增强语句 <add overwrite="true"&

我正在使用ApacheSolr进行索引和搜索。我必须赋予特定字段权重,这样如果我进行搜索,那么搜索必须在权重最大的字段上执行,然后在其他字段上执行

我正在使用SolrJ、Java和GWT进行开发。

使用dismax(或edismax)查询处理程序,您可以设置qf(查询字段)参数来为不同的字段分配提升。它使用以下格式:

字段1^增压值字段2^增压值…等

还有其他一些很好的参数可以帮助您控制结果排名


要在索引时增强,您需要在更新文档中提供一条增强语句

<add overwrite="true">
    <doc boost="2.0">
        <field name="id">1234</field>
        <field name="type">type1</type>
    </doc>
    <doc>
        <field name="id">2345</field>
        <field name="type" boost="0.5">type2</type>
    </doc>
</add>

这并不能回答有关在索引时间提升的问题。您正在描述查询时的提升。如果我想在索引时提升,那么我必须在文档中添加字段时提供提升值,不是吗?如果是,则我不需要在查询时给出“字段^2”…是否正确?