【发布时间】:2016-10-08 00:56:40
【问题描述】:
我正在运行类似于以下内容的简单查询:
FOR node IN FULLTEXT("myCollection", "myAttribute", "abcdef")
RETURN node
我在 myCollection 中有一个带有 myAttribute == "abcdef" 的节点,并且 myAttribute 上有一个全文索引,上面的查询工作正常并返回一个结果。但是下面的查询没有返回结果:
FOR node IN FULLTEXT("myCollection", "myAttribute", "abcde")
RETURN node
文档中的示例在句子中搜索单词“the”,因此我希望 FULLTEXT() 搜索“abcde”应该匹配“abcdef”。有人可以向我解释我缺少什么或需要做些什么来使 FULLTEXT("myCollection", "myAttribute", "abcde") 找到 myAttribute == "abcdef" 的节点。
谢谢!
-- 更新:我过度简化了上面的查询,试图让它简短易懂。我应该提供一个示例查询,例如:
FOR node IN FULLTEXT("myCollection", "myAttribute", "bcde")
RETURN node
展示我正在尝试做什么以及什么不起作用。 ArangoDB 是否支持以任何方式使用索引进行子字符串搜索。我正在尝试向我的应用程序添加文本搜索,并且担心使用 LIKE 会导致对多个字段的每个集合进行完整的集合扫描(不区分大小写)并且不会扩展。这篇文章实际上是关于如何跨数据库中的多个集合(以及许多,但不是所有属性)进行高性能文本搜索。
抱歉,过于简单化了。希望这更清楚。有没有一种在 ArangoDB 中实现“搜索”的好方法,可以支持用户在搜索框中输入搜索字符串时所期望的搜索语义?
【问题讨论】: