Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xquery 在数据库中执行更新操作后删除索引_Xquery_Basex - Fatal编程技术网

Xquery 在数据库中执行更新操作后删除索引

Xquery 在数据库中执行更新操作后删除索引,xquery,basex,Xquery,Basex,我使用的是Basex版本8.6.6,我从GUI在数据库上创建全文索引,当数据库上发生任何更新操作时,所有创建的索引都将被删除 当我使用ft模块搜索任何内容时,就会出现错误,即数据库“test”没有全文索引 我希望如果索引已经创建,那么它不应该被删除 如何解决此问题?当您更新数据库时,索引显然不再有效(如果没有自动执行任何操作)。BaseX的默认行为是简单地删除索引。有几种可能性可以解决这个问题,BaseX docu在 鉴于您似乎使用了完整的文本索引,您基本上有两种选择: 在每次更新操作后,通过X

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

当我使用ft模块搜索任何内容时,就会出现错误,即数据库“test”没有全文索引

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


如何解决此问题?

当您更新数据库时,索引显然不再有效(如果没有自动执行任何操作)。BaseX的默认行为是简单地删除索引。有几种可能性可以解决这个问题,BaseX docu在

鉴于您似乎使用了完整的文本索引,您基本上有两种选择:

  • 在每次更新操作后,通过XQuery或BaseX命令调用optimize
  • 启用增量索引。为此,您必须将两者都设置为true

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

    当您更新数据库时,索引显然不再有效(如果没有自动执行任何操作)。BaseX的默认行为是简单地删除索引。有几种可能性可以解决这个问题,BaseX docu在

    鉴于您似乎使用了完整的文本索引,您基本上有两种选择:

  • 在每次更新操作后,通过XQuery或BaseX命令调用optimize
  • 启用增量索引。为此,您必须将两者都设置为true
  • 请注意,如果您有许多小更改和一个大型数据库,那么第二个选项可能会非常昂贵,因为它会在每次小更新后重新创建整个索引