我正在从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。
答案 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 :用于部分索引。例如,对于数据库中的任何更新, 代替完全导入,您可以执行增量导入来更新您的 采集。
- 完整导入:为完整数据库编制索引。例如, 首次为数据库建立索引时。
- 状态: 提供索引状态,例如文档总数 已处理,状态为空闲或正在运行。