ArangoDB -如何支持不区分大小写的n-gram索引

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

我已经成功地创建了一个链接到ArangoSearch视图的n元语法分析器。被索引的文档字段包含混合大小写的字符串内容,但是我希望用户能够对它运行不区分大小写的查询。在n元语法分析器属性中没有大小写选项,所以我想知道如何做到这一点。我正在运行的一个示例查询如下:
“对于myview中的文档,搜索分析器(标记中的文档字段(”某些输入文本“、”myanalyzer“)、”myanalyzer“)排序BM 25(文档)desc返回文档”
由于大小写原因,这与包含“一些输入文本”的字段不匹配。有人有建议来完成此操作吗?谢谢!

hfsqlsce

hfsqlsce1#

自v3.8.0起,这是可能的。
介绍了一种新型的分析仪--流水线分析仪。
使用此功能,您可以将多个分析器的效果链接在一起。

arangosh> var analyzers = require("@arangodb/analyzers");
arangosh> var a = analyzers.save("ngram_upper", "pipeline", { pipeline: [
........>   { type: "norm", properties: { locale: "en.utf-8", case: "upper" } },
........>   { type: "ngram", properties: { min: 2, max: 2, preserveOriginal: 
false, streamType: "utf8" } }
........> ] }, ["frequency", "norm", "position"]);
arangosh> db._query(`RETURN TOKENS("Quick brown foX", "ngram_upper")`).toArray();

来源:https://www.arangodb.com/docs/stable/analyzers.html#pipeline

相关问题