当前位置 博文首页 > u011767319的博客:arangodb的使用-个人笔记
了解数据模型对象
参考官方的文档,熟悉数据库、集合、文档及图
函数
参考官方的文档,熟悉函数的功能
学习AQL查询语言
参考官方的文档,了解AQL的语法
SQL与AQL的比较
图Graphs
参考官方的文档,学习图的知识
A、了解图
B、学习AQL的图查询
C、学习案例
Spring集成ArangoDB
参考官方的文档
1、视图View
ArangoDB的搜索(ArangoSearch)通过view的查询实现
2、分析器 Analyzers
分析器用于处理文本的解析(分词),不同的分析器对文本的分词处理是不一样的
3、搜索函数 ArangoSearch Functions
在AQL语句里实现搜索
4、帮助教程
在arangodb 3.7版本之后,增加了几个模糊搜索相关的函数,具体参考以下文章:
地址
模糊搜索函数的文档介绍:
地址1
地址2
其中较常用的函数是:
NGRAM_MATCH()
函数定义:
NGRAM_MATCH(path, target, threshold, analyzer)
"bigram" (min: 2, max: 2, preserveOriginal: false, streamType: "utf8", features:["position", "frequency", "norm"] )
关于bigram分词器的定义说明,也可以参考此文章
查询例子:
FOR doc IN viewName
SEARCH NGRAM_MATCH(doc.text, "quick fox", "bigram")
RETURN doc.text
根据日期计算年龄
for ui in UserInfo
for us in UserStatus
filter ui._key == us._key
sort rand()
limit 1
let age = FLOOR(DATE_DIFF(ui.birthday,DATE_NOW(),"d")/365.2425)
return { age:age,key:ui._key,birthday:ui.birthday,nickName:ui.nickName }
FLOOR(DATE_DIFF(ui.birthday,DATE_NOW(),"d")/365.2425)
cs执行效果