2

ファイルの Solr コレクションからキーを削除する際に問題が発生しました。

これで Solr コレクションを更新します。

<cfoutput query="fileQuery">
  <cfset theFile = defaultpath & "#fileID#.pdf" />

  <cfif fileExists(theFile)>
    <cfindex
      action="update"
      collection="file_vault_solr"
      type="file"
      key="#theFile#"
      title="#documentName#"
      body="fileNumber,documentName"
      custom1="/filevault/#filealias#"
      custom2="#fileNumber#"
      custom3="#documentName#"
    >
  </cfif>
</cfoutput>

ただし、カタログからキーを削除しようとすると、機能しません。キーを削除する(しようとする)ために使用されているコードは次のとおりです。

<cfoutput query="deletedFile">
  <cfset theFile = defaultpath & "#fileID#.pdf" />

  <!--- Remove the deleted file from the collection. --->
  <cfindex
    collection="file_vault_solr"
    type="file"
    action="Delete"
    key="#theFile#"
  >
</cfoutput>

ただし、キーは削除されません。機能した唯一のことは、カタログ全体をパージし、すべてのドキュメントのインデックスを再作成することでした.

洞察はありますか?

4

3 に答える 3

2

キーは、Solrのインデックスにあるものと正確に一致する必要があります。したがって、「defaultpath」が両方で同じであることを確認し、Solrで大文字と小文字が区別されると私が信じているので、大文字と小文字が一致することを確認してください。

于 2012-05-30T14:08:26.597 に答える
1

これをデバッグするには、status="myStatusVar" を cfindex 呼び出しに追加することをお勧めします。次に、追加と削除の両方で何が起こっているかを確認します。削除が削除された数を返さない場合。次に、キーの不一致があります。

<cfindex
collection="file_vault_solr"
type="file"
action="Delete"
key="#theFile#"
status="myStatusVar"
>
于 2012-05-30T17:13:05.670 に答える