Como você renomear uma coleção Verity no ColdFusion?
-
03-07-2019 - |
Pergunta
Parece que não pode mudar o nome de uma coleção Verity existente no ColdFusion sem eliminar, recriar, e reconstruir a coleção. O problema é que eu tenho algumas coleções muito grandes Eu prefiro não ter que apagar e reconstruir a partir do zero. Qualquer um tem um truque útil para este enigma?
Solução
Para a parte Verity (sem considerar ColdFusion), é fácil o suficiente para separar uma coleção, renomeá-lo e recolocá-la novamente:
rcadmin> indexdetach
Server Alias:YourDocserver
Index Alias:CollectionName
Index Type [(c)ollection,(t)ree,(p)arametric,(r)ecommendation]:c
Save changes? [y|n]:y
<<Return>> SUCCESS
rcadmin> collpurge
Collection alias:CollectionName
Admin Alias:AdminServer
Save changes? [y|n]:y
<<Return>> SUCCESS
rcadmin> adminsignal
Admin Alias:AdminServer
Type of signal (Shutdown=2,WSRefresh=3,RestartAllServers=4):4
Save changes? [y|n]:y
<<Return>> SUCCESS
Agora você pode renomear o diretório coleção, e re-anexar. (Se você não tiver certeza de qualquer um desses valores, vê-los com collget antes de colocá-lo offline).
rcadmin> collset
Admin Alias:AdminServer
Collection Alias:NewCollectionName
Modify Type (Update=0, Insert=1):1
Path:
Gateway[(o)dbc|(n)otes|(e)xchange|(d)ocumentum|(f)ilesys|(w)eb|o(t)her]:
Style Alias:
Document Access (Public=0,Secure=1,Anonymous=2):
Query Parser [(s)imple|(b)oolPlus|(f)reeText|(o)ldFreeText|O(l)dSimple|O(t)her]:
Description:
Max. Search Time(msecs):
Save changes? [y|n]:y
rcadmin> indexattach
Index Alias:NewCollectionName
Index Type [(c)ollection,(t)ree,(p)arametric,(r)ecommendation]:c
Server Alias:YourDocserver
Modify Type (Update=0, Insert=1):1
Index State (offline=0,hidden=1,online=2):2
Threads (default=3):
Save changes? [y|n]:y
<<Return>> SUCCESS
Agora deve aparecer novamente no 'hierarchyview'.
Você também pode usar o utilitário "merge" para copiar conteúdo de uma coleção para outra, com um novo nome.
Outras dicas
Eu não acredito que há uma maneira fácil de mudar o nome de uma coleção Verity. Você sempre pode usar
<cfcollection action="map" ...>
para atribuir um alias para uma coleção existente, desde que você não precisa re-utilizar o nome original.
Parece que este não é possível. Excluindo e re-criar a coleção com as aparece nome desejado para ser a única abordagem possível.