2013-07-31 125 views
1

我在CF10文檔中讀到'屬性'FieldBoost'已被添加到CFIndex中,以便指定哪些字段在Solr的評分中應該有更重要的地位。'FieldBoost'導致CFIndex失敗

但是,它似乎不僅沒有按預期工作,而且實際上導致整個索引操作完全失敗! 我在Adobe論壇上看到過其他文章提到完全相同的問題,但沒有回覆或解決方案可用。

我跑CF10更新11

下面的代碼工作和索引14000個記錄:

 <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" 
    > 

有沒有人使用這種工作?

+0

值應該是「title」還是「Name」? –

+1

看到這個相關的文章 - [CF10 FieldFrame上cfindex沒有影響](http://stackoverflow.com/questions/12589084/cf10-fieldboost-on-cfindex-has-no-effect) –

+0

@PeterBoughton我已經試過兩個無濟於事! –

回答

2

從評論...

我發現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">

還要檢查這個相關問題1在搜索過程中提升字段的方法 - CF10 Fieldboost on cfindex has no effect