1

我正在从 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。

4

3 回答 3

0

你应该相信错误信息。尝试这个:

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

它指的是属性action的

于 2015-01-07T22:36:52.950 回答
0

这绝对是一个错误。在 ColdFusion 文档中,fullimport 不是 cfindex 的属性。

于 2019-09-19T05:02:18.197 回答
0

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

资料来源:CFIndex 文档:

... 当 时type="dih",使用这些操作:

  • abort:中止正在进行的索引任务。
  • deltaimport:用于部分索引。例如,对于数据库中的任何更新,您可以执行增量导入来更新您的集合,而不是完全导入。
  • fullimport:索引完整的数据库。例如,当您第一次索引数据库时。
  • status:提供索引的状态,例如处理的文档总数以及空闲或运行等状态。
于 2019-09-20T00:26:55.523 回答