2

有人知道是否有可能使用 FTSearch 搜索“-”吗?

Set col = db.ftsearch({ [services] = "-"}, 0)

dat requests 不起作用,而是说:

注释错误:全文错误;有关更多信息,请参阅日志([services] = "-")

4

2 回答 2

4

简短的回答是否定的。

全文搜索将大多数符号字符视为空格。例外情况是搜索词本身是否包含在引号中。

FT 搜索引擎也使用3-gram进行搜索。这意味着少于 3 个字符将不会返回您期望的结果。在该搜索中将处理空格,但仅在找到的文本的上下文中。

例如:“ce”会找到“space”,但不会找到“space”。或“空间”或“间隔”。

如果您正在寻找仅包含“-”的字段,那么更好的解决方案是创建一个包含该字段值的列的视图,和/或按该字段作为该值进行过滤。

于 2013-10-08T06:50:48.377 回答
0

看起来您正在尝试在视图中进行全文搜索?如果您使用视图,使用@Formula 语言可能会获得更好的响应时间和更少的服务器影响。

我尽量避免对整个数据库进行全文搜索。您可以使用对视图集合的搜索来获得更快的结果。一个数据库中可以拥有多少个视图没有限制。然而,一切都是有代价的。有很多小技巧可以用来获得更好的结果。请向我们提供有关您正在尝试做的事情的更多详细信息。

于 2013-10-07T18:32:01.990 回答