阿兰戈德。我可以在 PHRASE 搜索中使用 LOWER() 吗?

ARANGODB. Can I use LOWER() in PHRASE search?

我知道当我们使用过滤函数时,我们可以应用一个 LOWER()/UPPER() 函数来匹配我们的搜索条件。

FOR d IN doc
FILTER LOWER(d.category) == "abc"
LIMIT 10
RETURN d

但是,如果我在 arangosearch 中使用 PHRASE() 怎么办? 我这样写代码,但收到错误消息。

FOR d IN vKBS
SEARCH ANALYZER(MIN_MATCH(
    PHRASE(LOWER(d["category"]), 'abc'),
    PHRASE(LOWER(d["name"]), 'abc'),
, 1), 'text_en')
SORT BM25(d)
LIMIT 50
RETURN d

如何在 arangosearch 中忽略区分大小写?

您可以勾选分析器选项。 en_text 分析器应该已经降低了大小写,如果没有,您可以创建另一个文本类型的分析器

您可以在此处查看分析器文档

https://www.arangodb.com/docs/stable/arangosearch-analyzers.html#text