Neo4j图盲目搜索包含表达式的任何节点和关系?

falq053o  于 2022-10-01  发布在  其他
关注(0)|答案(0)|浏览(66)

我正在尝试构建一个盲搜索,给定一个表达式/字符串。

使用我正在运行的Python Neo4j驱动程序:

from neo4j import GraphDatabase
driver = GraphDatabase.driver("neo4j://localhost:7687")
def query_engine(tx, query):
    res = tx.run(query)
    values = [record for record in res]
    return values

def fuzzy_search(tx, search_expression):
    query = f"MATCH (n) WHERE ANY(x in keys(n) WHERE n[x] =~ '(i?){search_expression}.*') RETURN n"
    res = query_engine(tx, query)
    return res

with driver.session() as session:
    result = session.read_transaction(fuzzy_search, "kuku.*")

driver.close()

我知道我需要添加全文索引以使其更快,请告诉我当我想对节点/关系参数执行全图搜索时,在Neo4j中定义全文索引的最佳实践是什么?例如,我在我的图表中搜索所有节点和关系中的‘kuku’,如果有任何包含kuku的节点/关系,我希望能够将其作为结果返回。

**其他信息:我已经为我的所有节点添加了一个额外的标签(FTIndex),我可以创建全文索引,但是(!),我如何配置它来索引所有节点可用参数+,以确保在添加新节点时它会更新?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题