在数据库中进行更新操作后,索引被删除

问题描述 投票:1回答:1

我使用的是Basex 8.6.6版本,我正在从GUI上创建数据库的全文索引,当数据库上发生任何更新操作时,所有创建的索引都会被删除。

当我使用ft模块搜索任何东西时,就会出现数据库 "test "没有全文索引的错误。

我希望如果索引已经创建,那么它不应该被删除。

我怎样才能解决这个问题?

xquery basex
1个回答
0
投票

当你更新数据库时,索引显然不再有效(如果没有自动完成)。BaseX的默认行为是简单地删除索引。有几种可能性来处理这个问题,它们都在BaseX的文档中解释了 https:/docs.basex.orgwikiIndexes#Updates

鉴于你似乎使用了全textr索引,你基本上有两个选择。

  1. 在每次更新操作后调用优化,或者通过XQuery db:优化() 或通过BaseX命令 优化
  2. 启用增量索引。为此,您必须设置 UPINDEXAUTOOPTIMIZE 都要 真正.

请注意,如果你有许多小的变化和一个大的数据库,第二个选项可能会非常昂贵,因为它将在每次小的更新后重新创建整个索引。

© www.soinside.com 2019 - 2024. All rights reserved.