gpt4 book ai didi

arangodb - 如何使用 aql、蓝图和 http 接口(interface)在 arangodb 图中进行全文查询?

转载 作者:行者123 更新时间:2023-12-02 01:47:56 27 4
gpt4 key购买 nike

例如,我有属性为“text”的顶点和该属性的全文索引。

在arango 2.1.2 shell中,我可以查询顶点

g._vertices.fulltext("text","my text value")

db.v.fulltext("text","my text value")

但是如果我使用 blueprints-arangodb-graph-1.0.8,蓝图实现触发的请求看起来像

http://{arangodb}/_db/testdb/_api/graph/test_graph/vertices

与 body :

{"batchSize":1,"count":false,"filter":{"properties":[{"key":"text","value":"my text value":"=="}]}}

这是非常低效的,因为它遍历每个顶点。

那么,是否可以高效地进行查询

  • 质量控制
  • 蓝图
  • 和 http 接口(interface)?

非常感谢。

更新:我通过 HTTP 找到了简单的全文查询

http://{arangodb}/_db/testdb/_api/simple/fulltext

和正文:

{ "collection": "test_vertices", "attribute" : "text", "query" : "my text value" }

UPDATE-2我找到了 AQL:

FOR v in FULLTEXT(test_vertices, 'text', 'my text value') RETURN v

最佳答案

假设您的集合称为“顶点”,您的属性是“文本”。

在 AQL 中,您可以使用“FULLTEXT”(参见 http://docs.arangodb.org/Aql/Operators.html):

arangosh [_system]> db._query("return FULLTEXT(vertices, 'text', 'hallo')").toArray()
[
[
{
"_id" : "vertices/268953710",
"_rev" : "268953710",
"_key" : "268953710",
"text" : "hallo hugo"
},
{
"_id" : "vertices/269150318",
"_rev" : "269150318",
"_key" : "269150318",
"text" : "hallo emil"
},
{
"_id" : "vertices/268757102",
"_rev" : "268757102",
"_key" : "268757102",
"text" : "hallo world"
}
]
]

对于 HTTP,您可以使用 AQL 的 HTTP 接口(interface)和上面的 FULLTEXT 函数。

或者,您可以使用“PUT/_api/simple/fulltext”端点并直接执行全文搜索(参见 http://docs.arangodb.org/HttpSimpleQuery/README.html)。

关于arangodb - 如何使用 aql、蓝图和 http 接口(interface)在 arangodb 图中进行全文查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24430775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com