arangodb的使用-个人笔记

参考文档

了解数据模型对象

参考官方的文档,熟悉数据库、集合、文档及图

函数

参考官方的文档,熟悉函数的功能

学习AQL查询语言

参考官方的文档,了解AQL的语法

SQL与AQL的比较

图Graphs

参考官方的文档,学习图的知识

A、了解图

B、学习AQL的图查询

C、学习案例

Spring集成ArangoDB

参考官方的文档

ArangoSearch数据搜索学习笔记

1、视图View

ArangoDB的搜索(ArangoSearch)通过view的查询实现

2、分析器 Analyzers

分析器用于处理文本的解析(分词),不同的分析器对文本的分词处理是不一样的

3、搜索函数 ArangoSearch Functions

在AQL语句里实现搜索

4、帮助教程

ArangoSearch的模糊搜索实现

在arangodb 3.7版本之后,增加了几个模糊搜索相关的函数,具体参考以下文章:

地址

模糊搜索函数的文档介绍:
地址1
地址2

其中较常用的函数是:

NGRAM_MATCH()

函数定义:

NGRAM_MATCH(path, target, threshold, analyzer)

  • path 要匹配的“数据”,可以为某文档里的字段或者一串字符串
  • target 用于搜索的字符,只能为字符串数据
  • threshold : 精确度,值范围为 0.0 - 1.0. 如果不设置则为默认值 0.7
  • analyzer (string): 分词器的名称, 分词器要求为ngram类型的分词器,且采用bigram定义
"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)

执行效果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘叶风凌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值