当您在Solr中执行copyField时,字段提升是否随之而来?

Dea*_*ane 11 solr

说我有这些字段声明:

<field name="Title" type="text_general" stored="true" multiValued="false" /> 
<field name="Body" type="text_general" stored="true" multiValued="false" /> 
Run Code Online (Sandbox Code Playgroud)

当我对"标题"进行索引时,我将提升设置为5,这意味着"标题"字段中的单词应该计为正常的5倍.

然后我这样做:

<copyField source="Title" dest="SearchText"/>
<copyField source="Body" dest="SearchText"/>
Run Code Online (Sandbox Code Playgroud)

所以,我已将这两个字段复制到另一个名为"SearchText"的字段中.

当我搜索"SearchText"时,"标题"字段中的术语是否还带有5倍提升?或者他们在副本中丢失了吗?当你做一个copyField时,所有字段的提升是否会"平稳"?

Dea*_*ane 10

在做了一些阅读之后,我认为提升被剥夺了.我们的解决方案就是:

我们创建了四个字段:SearchText,SearchText2,SearchText3和SearchText4.我们将所有内容复制到SearchText中,将一些内容复制到SearchText2中,将少量内容复制到SearchText3中,并将只有超级关键内容复制到SearchText4中.

然后,我们的"qf"参数看起来像这样:

SearchText, SearchText2^3, SearchText3^10, SearchText4^100
Run Code Online (Sandbox Code Playgroud)

因此,我们在查询时将字段提升为无,3,10和100.

它看起来并不优雅,但效果很好,它允许我们在不重新索引的情况下调整增强.

此外,这里有一个抽象层:通过把东西SearchText2,比如,我们说"这很重要,"不过,我们还没有确定如何重要(在数值提升的方面),直到查询时间.因此,copyField是抽象,而实现中的"qf"参数.


Max*_*Max 0

据我所知,提升是基于每个字段的。因此,如果您对“标题”字段应用了增强,则“搜索文本”字段不会具有相同的增强。您必须单独增强“SearchText”字段才能增强匹配。