springboot整合neo4j模糊查询

这篇具有很好参考价值的文章主要介绍了springboot整合neo4j模糊查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.场景
查询与content相似的实体
解决方案:
1.直接从neo4j中查询所有实体并使用杰卡德相似度算法计算相似度,返回top n,该方案由于要匹配图中所有实体,性能较差。
2.模糊查询neo4j中的实体,并对查询结果与content做相似度计算,相似度算法为hutool中的TextSimilarity.similar()接口。算法原理请自行学习。

2.实现
springboot整合neo4j,使用@Query方式进行模糊查询

/**
     * 模糊查询包含content内容的实例
     * @param content 匹配内容
     * @param limit 返回限制
     * @return 实例的名称
     */
    @Query("match (n) where n.name=~('.*' + $content + '.*') return n.name limit {limit}")
    List<String> getLikeEntity(@Param("content") String content, @Param("limit") int limit);

    /**
     * 模糊查询包含content内容的实例
     * @param content 匹配内容
     * @param limit 返回限制
     * @return 实例的名称
     */
    @Query("match (n) where n.name Contains {content} return n.name limit {limit}")
    List<String> getLikeEntity2(@Param("content") String content, @Param("limit") int limit);

/**
     * 查询实体并计算杰卡德相似度返回top limit与content相似的实体
     * 如果数据量大该方法性能较差
     */
    @Query("match(n) where exists (n.name) with n ,apoc.text.bytes(n.name) as e, apoc.text.bytes({content}) as s where algo.similarity.jaccard(s, e) > 0 return n.name as name ORDER BY algo.similarity.jaccard(s, e) desc limit {limit}")
    List<String> querySimilarEntry(@Param("content") String content, @Param("limit") int limit);

2.参考
1.neo4j模糊查询
2.spring data neo4j的@Query等查询方式模糊查询文章来源地址https://www.toymoban.com/news/detail-643187.html

到了这里,关于springboot整合neo4j模糊查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图数据库Neo4j——SpringBoot使用Neo4j & 简单增删改查 & 复杂查询初步

    图形数据库是专门用于存储图形数据的数据库,它使用图形模型来存储数据,并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库,本篇博客介绍如何在SpringBoot中使用Neo4j图数据库,如何进行简单的增删改查,以及如何进行复杂

    2024年02月06日
    浏览(63)
  • 图数据库_Neo4j和SpringBoot整合使用_实战创建明星关系图谱---Neo4j图数据库工作笔记0010

    2023-09-10 10:37:48 补充 注意:下面是旧版本的语法,如果你发现@NodeEntity这样的注解没有的话可以这样: 这里就要用@Node 另外如果@StartNode和@EndNode都没有了,那么说明是用法变了. 关于最新的用法,在官网有明确的说明和案例,很有用: 下面给出官网的案例:

    2024年02月12日
    浏览(47)
  • springboot整合neo4j-使用原生cypher Java API

    该文的实现有更简单的方式,详见我的另一篇博客springboot整合neo4j–采用Neo4jClient和Neo4jTemplate方式 Neo4j 提供 JAVA API 以编程方式执行所有数据库操作。它支持三种类型的API: 1、Neo4j 原生的 Java API 原生 Java API 是一种低级别的纯 JAVA API,用于执行数据库操作。 2、Neo4j Cypher Jav

    2024年02月09日
    浏览(52)
  • 图数据库_Neo4j和SpringBoot Data整合使用_实战创建明星关系图谱---Neo4j图数据库工作笔记0010

    2023-09-10 10:37:48 补充 注意:下面是旧版本的语法,如果你发现@NodeEntity这样的注解没有的话可以这样: 这里就要用@Node 另外如果@StartNode和@EndNode都没有了,那么说明是用法变了. 关于最新的用法,在官网有明确的说明和案例,很有用: 下面给出官网的案例:

    2024年02月09日
    浏览(49)
  • Neo4j模糊查找

    **1.**对于模糊查找,可以使用Neo4j提供的Cypher查询语言中的正则表达式来实现。 以下是一个简单的示例: 在上述示例中,可以将 propertyName 替换为您要搜索的属性名称,并将 keyword 替换为您要模糊匹配的。使用 =~ 运算符和正则表达式 ‘. keyword. ’,可以匹配包含

    2024年02月10日
    浏览(24)
  • SpringBoot 整合 Neo4j、MySQL 多数据源方案(Druid Mybatis DynamicDatasource)

    本文总结了Neo4j和Spring/SpringBoot、Alibaba Druid、Dynamic Datasource、Mybatis等整合方案,对相应配置做了详细说明。 添加Neo4j JDBC Driver依赖 添加application.yml配置 添加Neo4j JDBC Driver + Alibaba Druid依赖 添加application.yml配置 添加Neo4j JDBC Driver、Alibaba Druid、Dynamic DataSource依赖 添加application.y

    2023年04月08日
    浏览(51)
  • 图数据库_Neo4j和SpringBoot整合使用_创建节点_删除节点_创建关系_使用CQL操作图谱---Neo4j图数据库工作笔记0009

    首先需要引入依赖   springboot提供了一个spring data neo4j来操作 neo4j   可以看到它的架构   这个是下载下来的jar包来看看 有很多cypher对吧   可以看到就是通过封装的驱动来操作graph database   然后开始弄一下 首先添加依赖

    2024年02月12日
    浏览(48)
  • Spring Boot整合neo4j

    相关版本信息 1、配置文件 Pom文件中引入依赖 Spring生态中Spring-data部分不仅仅提供了Spring-data-jpa , 也提供了Spring-data-neo4j 支持spring和 neo4j的完美融合,pom.xml 文件中依赖 yml文件中配置连接属性 2、实体类(NodeEntity) @NodeEntity: 标明是一个节点实体@RelationshipEntity:标明是一个

    2024年02月10日
    浏览(40)
  • neo4j cypher查询

    1. 创建节点和关系   使用CREATE命令创建节点和关系。例如,要创建一个名为“John”的人节点,可以使用以下命令:   ``` CREATE (:Person {name: \\\'John\\\'}) ```   这将创建一个类型为“Person”的节点,并将其属性“name”设置为“John”。   要创建一个名为“likes”的关系,将“John”节点

    2024年02月08日
    浏览(45)
  • neo4j电影库-关系查询

    关系类型 数量 源数据 目标数据 属性 ACTED_IN 172 演员 电影 roles(角色扮演)属性,属性值为数组 DIRECTED 44 导演 电影 无 PRODUCED 15 制片商 电影 无 WROTE 10 作家 电影 无 FOLLOWS 3 影评人 影评人 无 REVIEWED 9 影评人 电影 summary(影评摘要)和 rating(评分)属性 【先按照书本整理下,

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包