'FieldBoost'导致CFIndex失败

时间:2013-07-31 16:12:01

标签: solr coldfusion cfindex

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

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

我正在运行CF10 Update 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"
    >

有人有这个工作吗?

1 个答案:

答案 0 :(得分:3)

来自评论......

我发现this bug我认为它与您的情况相似(尽管在Mac平台上报告过)。

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

fieldboost="title:6" 

我能够在Adobe ColdFusion 10 Beta documentation(特别是该文档的第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">

另请查看此相关问题,了解在搜索过程中提升字段的方法 - CF10 Fieldboost on cfindex has no effect