CFINDEX抛出属性验证错误异常

时间:2015-01-07 22:14:13

标签: solr coldfusion coldfusion-11

我正在从ColdFusion 8升级到ColdFusion 11,所以我需要重建我的搜索索引来工作Solr而不是Verity。我找不到任何可靠的方法来导入我的旧Verity集合,所以我试图从头开始构建新的索引。我使用以下代码索引一些项目及其位于服务器上的相应文档:

<cfsetting requesttimeout="3600" />

<cfquery name="qDocuments" datasource="#APPLICATION.DataSource#">
    SELECT DISTINCT
        ID,
        Status,
        'C:\Documents\'
            CONCAT ID
            CONCAT '.PDF'   AS  File
    FROM    tblDocuments
</cfquery>

<cfindex
    query="qDocuments"
    collection="solrdocuments"
    action="fullimport"
    type="file"
    key="document_file"
    custom1="ID"
    custom2="Status" />

与Verity一起使用了一个非常类似的设置多年没有问题。

当我运行上面的代码时,我得到以下异常:

  

CFINDEX的属性验证错误。

     

FULLIMPORT属性的值无效。       有效值包括:UPDATE,DELETE,PURGE,REFRESH,FULL-IMPORT,          DELTA-IMPORT,STATUS,ABORT。

这完全没有意义,因为CFINDEX没有“FULLIMPORT”属性。

我在Windows Server 2008R2 / IIS7.5上运行带有Java 1.8.0_25的ColdFusion 11 Update 3。

3 个答案:

答案 0 :(得分:0)

您应该相信错误消息。试试这个:

<cfindex
    query="qDocuments"
    collection="solrdocuments"
    action="FULL-IMPORT"
    type="file"
    key="document_file"
    custom1="ID"
    custom2="Status" />

它指的是属性 action

答案 1 :(得分:0)

这绝对是bug。在ColdFusion文档中,fullimport不是cfindex的属性。

答案 2 :(得分:0)

我知道这是一个旧线程,但是如果其他人有同样的问题,那只是文档中的不良描述。仅当使用type="dih"(即数据导入处理程序)时,“ FullImport”操作才可用。使用query属性时,请改为使用action="refresh"

Source: CFIndex Documentation:

  

...    type="dih"时,将使用以下操作:

     
      
  • 中止:中止正在进行的索引编制任务。
  •   
  • deltaimport :用于部分索引。例如,对于数据库中的任何更新,   代替完全导入,您可以执行增量导入来更新您的   采集。
  •   
  • 完整导入:为完整数据库编制索引。例如,   首次为数据库建立索引时。
  •   
  • 状态:   提供索引状态,例如文档总数   已处理,状态为空闲或正在运行。
  •