1

我在 CF10 文档中读到,属性“FieldBoost”已添加到 CFIndex,以指定哪些字段在 Solr 的评分中应该更重要。

但是,它似乎不仅没有按预期工作,实际上还导致整个索引操作完全失败!我在 Adob​​e 论坛上看到其他帖子提到完全相同的问题,但没有可用的回复或解决方案。

我正在运行 CF10 更新 11。

以下代码有效并索引了 14,000 条记录:

        <cfindex collection = "MyCollection" 
        action          = "refresh"
        type            = "custom"
        query           = "Local.MyContent" 
        key             = "ID"
        title           = "Name"
        body            = "Name,Description"
    >

但是,如果我添加 FieldBoost 值,则没有错误并且索引操作似乎运行正确,但是该集合现在包含零记录:

        <cfindex collection = "MyCollection" 
        action          = "refresh"
        type            = "custom"
        query           = "Local.MyContent"  
        key             = "itemID"
        title           = "Name"
        body            = "Name,Description"
        fieldBoost      = "title"
    >

有没有人有这个工作?

4

1 回答 1

3

从评论...

我发现了这个错误,我认为它与您的情况相似(尽管它是在 Mac 平台上报告的)。

尽管没有很好地记录它,但您需要在属性中包含权重。fieldboost对于 ColdFusion 的实现,您可以通过将权重附加到您希望用:(冒号)分隔的字段来指定权重。该属性应如下所示:

fieldboost="title:6" 

我能够在Adob​​e ColdFusion 10 Beta 文档中找到一些关于此属性的文档(具体位于该文档的第 106 页)。以下是该文件的摘录:

提高搜索结果排名
cfindex 中的以下属性可帮助您提高搜索结果排名:

  • fieldBoost:在索引时提升特定字段。
    fieldBoost 提高了字段的分数,从而提高了搜索结果中的排名。可以通过将值指定为逗号分隔列表来提升多个字段。

  • docBoost:在索引时提升整个文档。
    docBoost 提高了文档的分数,从而提高了搜索结果中的排名

以下代码是他们用来显示fieldboost属性的示例(请注意,他们正在提升两个字段,用逗号分隔):

<cfindex collection="autocommit_check" action="update" type="file" key="#Expandpath(".")#/_boost1.txt" first_t="fieldboost" second_t="secondfield" fieldboost="first_t:1,second_t:2" docboost="6" autocommit="true">

还要检查这个相关问题,以了解在搜索期间提升字段的方法 - cfindex 上的 CF10 Fieldboost 没有效果

于 2013-08-01T23:41:53.700 回答