1

我有一个在 FT 搜索中很少发生的问题。但一旦发生,它就会留下来。我在 Lotus Notes 的 FT 搜索框中使用以下搜索词

[标签] =“富”

在大多数应用程序中,这个搜索词都可以正常工作。但对于某些应用程序,此搜索词会给出错误“查询不可理解”。

我是否替换该值并不重要,例如 [Tags] = "boo" 会产生相同的结果。还有FIELD标签=“嘘”。对于记录 [Tag] = "foo" 工作正常,因此字段或字段名称似乎有问题。

  • 该问题仅发生在某些应用程序中。一旦开始发生此问题,就无法使用该搜索查询搜索任何视图,并且每次搜索时都会收到错误消息。
  • 它对删除、压缩和重新创建 FT 索引没有帮助。
  • 在视图数据源中使用相同的搜索查询时,我在 xpages 中遇到相同的错误。
  • 我在其他应用程序中也看到了使用其他字段名的这个问题。
  • 如果我删除 FT 索引,则搜索查询有效
  • 创建“损坏”数据库的新副本并不能解决问题
  • 我试图在数据库中只有一个文档,创建一个新的 FT 索引。视图中的文档没有“标签”字段仍然无法正常工作。(数据库中还有其他表单,字段名称为“Tags”)

这对我来说是一个真正的表演障碍,因为我已经根据特定字段的搜索值构建了一些 XPage

  • 在我自己对这个问题的调查中,我认为这与 FT 索引中的某种错误有关。文档或表单中似乎包含一些数据,导致 FT 索引无法正常工作。

在此处输入图像描述

我正在寻找解决这个问题的方法,因为一旦它坏了我还没有找到修复它的方法。

更新:

遵循此过程没有帮助 https://www-304.ibm.com/support/docview.wss?uid=swg21261002

这是我的调试信息

[1078:0002-2250] 在 FTG 搜索中

[1078:0002-2250] 选项 = 0x400219

[1078:0002-2250] 查询:(字段标签 = “foo”)

[1078:0002-2250] OUT FTGSearch 错误 = F09

[1078:0002-2250] FTGSearch:找到=0,返回=0,开始=0,计数=0,限制=0

4

3 回答 3

4

听起来您需要用紧凑型固定 UNK 表。这里是紧凑选项的列表,使用一个没有到位的复制样式。

http://www-01.ibm.com/support/docview.wss?uid=swg21084388

于 2013-05-13T12:41:04.417 回答
3

如果标签字段有时是数字,我建议查看数据库设计。UNK 表是 NSF 中所有字段的表。第一次使用字段名称时,它将作为该数据类型存储在 UNK 表中。全文搜索使用该数据类型并且仅使用该数据类型。如果您在数据库中的多个表单上都有一个字段标签,一次是数字,一次是文本,那么您在全文搜索方面会遇到大麻烦。搜索中的数据类型将取决于该字段在保存的第一个具有该字段的文档上的数据类型。即使您删除了所有将其作为数字的文档,您也不会在没有压缩的情况下更改 UNK 表。听起来这就是你在这里所拥有的。确保数据库永远不会将标签存储为数字。删除或更改所有存储数字的文档。然后压缩。

于 2013-05-13T13:32:10.373 回答
2

谢谢大家的回答。我今天学到了很多关于 UNK 表和 FT 索引的知识。

问题是我有一个名为“Tags”的数字字段,它的形式我没有看过,并且真的不认为它会包含该名称的字段。

使用 DDE 搜索后,我找到了 tags 字段的所有实例,并且可以很容易地找到问题表单。我重命名了表单中的字段,删除了 FT indx ,使用了 compact -c 并重新创建了 ft 索引。现在一切正常。

另一件需要注意的事情是,我有几个设计相同的数据库,但只有少数有 ft 索引问题,原因可能是因为其中一些数据库是在创建带有错误标签字段的表单之后创建的.

我很高兴解决了这个问题。

经验教训 如果您计划在应用程序中使用全文索引。确保您在不同的表单中没有相同的字段名称并使用不同的字段类型。

从现在开始,我可能会更多地使用共享字段:-)

我们发现的另一件事实际上您不需要通过便笺查看来找出 tpe 存储在 UNK 表中的哪个字段。您可以使用搜索栏中的“字段”按钮。如果您选择该字段并且右侧框显示“包含”,则您知道 unk 表设置了文本字段类型。

于 2013-05-13T14:02:09.620 回答