我已经阅读了ArangoDB 3.4文档和ArangoSearch视图教程,但我仍然不清楚是否/如何将视图与图遍历结合起来。本教程中有一个图/视图连接示例;但是,我需要做的是简单地过滤通过基于视图的文本搜索的遍历产生的候选池。例如:
“for i in 2..2 outbound start_doc edges1,inbound edges2 [filter by view] return i”
来自“start_doc”顶点的初始2跳遍历将导致比整个集合小得多的候选池。我想使用配置的视图(可能是“text_en”分析器)在此候选池上执行文本搜索。
我会在遍历后定义视图表达式吗?或者我是否需要使用“union_distinct”函数来组合遍历和搜索结果? (考虑到视图中可能非常大的结果集,这似乎非常低效。)
谢谢!
这就是我解决类似问题的方法,也许它也适用于你:
for i in 2..2 outbound start_doc edges1, inbound edges2
filter (
for x in view
search i._key == x._key and search_condition
limit 1
return x
) != []
return i