ArangoDB通配符搜索速度慢

3zwtqj6y  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(133)

我正在处理下面的查询,并尝试实现ArangoDB通配符搜索。条件非常简单,我希望匹配与名称或数字字段相似的记录,并将记录限制为25。查询工作正常,但速度非常慢。需要30秒以上的时间。目标是优化此查询,使其尽可能接近亚秒。我希望查询的功能类似于MySQL LIKE的工作方式,在两端使用%通配符进行匹配。
https://www.arangodb.com/docs/stable/release-notes-new-features37.html#wildcard-search
注意,我注意到的一件事是,在发行说明示例中,他们使用的是搜索,而不是使用过滤器。
其他信息:

  • 名称为字母数字
  • 一个8位数的数字
LET str = CONCAT("%", 'test', '%")
LET search = (
   FOR doc IN name_search
   FILTER ANALYZER(doc.name LIKE str, "text_en") OR
   FILTER ANALYZER(doc.number LIKE str, "text_en")
   LIMIT 25
   RETURN doc
)
RETURN SEARCH
js81xvg6

js81xvg61#

FILTER不使用索引。为了加快通配符查询的速度,你必须在一个集合上创建一个ArangoSearch视图,并使用SEARCH关键字。
请随时查看以下交互式教程(参见“LIKE支持”部分):https://www.arangodb.com/learn/search/arangosearch-tutorial-3-7/

相关问题