Neo4j索引笔记之SchemaIndex和LegacyIndex

neo4j使用之索引 在清除neo4j数据库时发现,删除全部节点后发现还存在一些节点标签怎么也删不掉,其实这些节点是索引 通过语句:schema可以查看索引的一些属性 根据上图提示的语句可以可视化这些索引: 更改为“文本”查看方式,能够得知索引的indexes,从而可以利用CQL语句删除索引: 比如我删除以上四个索引的语句依次为: DROP INDEX ON:BNode(uri); DROP INDEX ON: URI(uri); DROP INDEX ON:Class(uri); DROP INDEX ON:Resour 阅读详情

neo4j包含schema indexes 和 legacy indexes两种类型,两者理念不同且不可互换或兼容,实际应用中应明确检索需求后采用合适的索引。


schema index vs legacy index

参考neo4j index-confusion
* schema index和legacy index 都是基于lucene实现;
* 如果你正在使用Neo4j 2.0或者更高版本并且不需要支持2.0版本之前legacy index的代码,那么请只使用schema index同时避免legacy index;
* 如果你不得不使用Neo4j的早期版本,并且无法升级,无论如何你都只有一种索引可以选择(legacy index);
* 如果你需要全文检索的索引,不管是什么版本,都将使用legacy index。

schema index(schema based indexes)

Neo4j is a schema-optional graph database. You can use Neo4j without any schema. Optionally you can introduce it in order to gain performance or modeling benefits.
This allows a way of working where the schema does not get in your way until you are at a stage where you want to reap the benefits of having one.

* 在Neo4j 2.0版本之前,Legacy index被称作indexes。这个索引是在graph外部通过Lucene实现,允许“节点”和“关系”以键值对的形式被检索。从Neo4j 提供的REST接口来看,被称作index的变量通常是指Legacy indexes;
* Legacy index能够提供全文本检索的能力。这个功能并没有在schema index中被提供,这也是Neo4j 2.0* 版本保留legacy indexes的原因之一。

新建索引

create index on :Node(property),会对指定label property的所有node新建index ,index新建成功后,当graph更新时index会自动更新,index默认存储在根目录的/schema/index/lucene目录;
如:

# 新建索引
CREATE INDEX ON :AddressNode( preAddressNodeGUIDs)
# 删除索引
DROP INDEX ON :AddressNode(_id)

存储方式

schema index存储方式为复合索引(Compound Index),除了段信息文件,锁文件,以及删除的文件外,其他的一系列索引文件压缩一个后缀名为cfs的文件,即所有的索引文件会被存储成一个单例的Directory,
此方式有助于减少索引文件数量,减少同时打开的文件数量,从而获取更高的效率。比如说,查询频繁,而不经常更新的需求,就很适合这种索引格式。

legacy index

Neo4j Legacy Index配置参数

参数值描述
typeexact, fulltextexact采用Lucene keyword analyzer是默认配置. fulltext采用white-space tokenizer in its analyzer.
to_lower_casetrue, falsetype=fulltext时生效,在新建索引和查询时会自动进行字母的大小写转换,默认为小写
analyzerAnalyzer类全名自定义Lucene Analyzer,注意:to_lower_case配置会默认将查询参数转换为小写.如果自定义analyzer索引写入的字母为大写,查询结果将会不匹配

新建索引

分exact和fulltext两类,两者可结合使用,可新建relationship索引,默认存储在根目录的index/lucene目录;
fulltext索引新建方式参考笔记Neo4j中实现自定义中文全文索引
* 注意:使用legacy index查询往往需要一个start node;

存储方式

legacy index采用非复合索引,更灵活,可以单独的访问某几个索引文件

Neo4j联合索引

参考:https://dzone.com/articles/indexing-neo4j-overview
Neo4j不支持联合索引,可采用拼接字段实现

Neo4j 3.0开始支持联合索引,但需要升级至JDK8
https://github.com/neo4j/neo4j/issues/6841

neo4j-schema:Javascript中neo4j的简单客户端 Neo4j模式 JavaScript中neo4j的简陋客户端。 特征 类似于猫鼬的语法,平坦的学习曲线,引导Javascript开发人员在几分钟内访问Neo4J。 资源池,自动重用连接资源以减少网络开销。 通过内置的Joi模式支持模式验证。 支持ES6,ES7语法。 文献资料 安装 npm install --save neo4j-schema 例子 const Neo4JDB = require ( 'neo4j-schema' ) ; const Query = Neo4JDB . Query ; const db = new Neo4JDB ( { uri : 'bolt://localhost' , username : 'neo4j' , password : 'neo4j' } ) . connect ( ) ; const PersonSche 立即下载

相关推荐

Android-S无线模块前瞻

WiFi - mainlane非强制 S 采用反射的方法直接加载wifiservice,直接hook在systemserver上,无编译依赖。gms可以动态替换wifi服务。 R 采用直接启动service的方式,wifiservice仍然map在systemserver上。 WiFi - 11ad接口支持 11ad被wifi联盟商业化为WIGIG,提供短距的60GHZ载波,理论速度为当前5G 11ac的6倍。市面上基本没有手机支持,需要独立的芯片支撑此功能。 传输距离为3m以内,外界d.

头铁的伦的博客 1043

Knowledge Graph |(1)图数据库Neo4j简介与入门

基本概念 图数据库(Grahp Database)是基于图论实现的一种新型NoSQL数据库,它的存储结构和数据的查询方式都是以图论为基础的,图论中图的基本元素为节点和边,在图数据库中对应的就是节点和关系。 在图数据中,数据与数据之间的关系通过节点和关系构成一个图结构并在此结构上实现数据库的所有特性,具有传统数据库的所有功能。 与传统的关系数据库...

DrugOne 2855

【低空经济】无人机充电站设计方案

随着无人机技术的快速发展和广泛应用,其在物流、农业、巡检、救援等领域的应用日益普及。然而,无人机的续航能力一直是限制其大规模应用的关键因素之一。为了解决这一问题,无人机充电站的设计与建设显得尤为重要。本项目旨在设计一套高效、智能、可扩展的无人机充电站系统,以满足不同场景下无人机的充电需求,提升其作业效率和应用范围。无人机充电站的设计将围绕以下几个核心目标展开:首先,充电站应具备快速充电能力,以减少无人机的停机时间,提高作业效率;

2959

图数据库-Neo4j(六):创建/切换数据库(不删旧)【社区版只能同时一个数据库活动,修改neo4j.conf默认/活动数据库为此时需要用到的数据库名】【Neo4.x企业版可以同时多个活动数据库】

一、Neo3.x创建新数据库而不删除现有数据库 在Neo4j3.x的文档中写到: Community Edition is a fully functional edition of Neo4j, suitable for single instance deployments. It has full support for key Neo4j features, such as ACID compliance, Cypher, and programming APIs. It is ideal for

u013250861的博客 2万+

Gazebo仿真UUV水下机器人:从环境搭建到避障算法实战

本文详细介绍了使用Gazebo仿真平台进行UUV水下机器人开发的全流程,涵盖从环境搭建、uuv_simulator配置、传感器集成到核心避障算法实战。通过搭建水下仿真实验室并实现基于激光雷达数据的反应式避障算法,为水下机器人算法验证与开发提供了高效、低成本的解决方案。

weixin_28840591的博客 263

告别有线:用PVE直通无线网卡,打造一台真正的‘无线’Win10软路由/测试机

本文详细介绍了如何通过PVE直通无线网卡技术,构建全无线Win10软路由或测试机。从硬件选型、PVE环境配置到PCIe和USB双模直通技术,逐步指导实现Wi-Fi AP和蓝牙连接功能,为家庭实验室和小型办公环境提供灵活高效的网络解决方案。

weixin_28683689的博客 586

图形数据库Neo4J简介

  最近我在用图形数据库来完成对一个初创项目的支持。在使用过程中觉得这种图形数据库实际上挺有意思的。因此在这里给大家做一个简单的介绍。 NoSQL数据库相信大家都听说过。它们常常可以用来处理传统的关系型数据库所难以解决的一系列问题。通常情况下,这些NoSQL数据库分为Graph,Document,Column Family以及Key-Value Store等四种。这四种类型的数据库分别...

weixin_30346033的博客 2574

别再凭感觉选电容了!手把手教你计算电机控制器里的母线电容(附Excel计算工具)

本文详细解析了电机控制器中母线电容的选型方法,从理论计算到工程实践,帮助工程师避免常见误区。通过精确计算纹波电压、电容容量等关键参数,并结合薄膜电容与电解电容的性能对比,提供实用的选型建议。附带的Excel计算工具可快速完成参数计算,适用于工业伺服驱动和电动车电机控制器设计。

weixin_28720573的博客 518

Neo4j 使用指南

Neo4j-Cheat-Sheet

失心疯的博客 4880

23.501中英对照(46):5QI到Qos特征的映射

注4:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为1毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注5:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为2毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注6:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为5毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注:建议为任何新的非GBR资源类型的标准化5QI分配小于64的值。

51学通信的博客 1294

【DRAM存储器十五】DDR介绍-关键技术之DLL和prefetch

详述DDR DLL和预取原理以及几个DDR相对初代SDRAM新增的时序参数

highman110的博客 4365

Neo4j 第二篇:图形数据库

在深入学习图形数据库之前,首先理解属性图的基本概念。一个属性图是由顶点(Vertex),边(Edge),标签(Lable),关系类型和属性(Property)组成的有向图。顶点也称作节点(Node),边也称作关系(Relationship);在图形中,节点和关系是最重要的实体,所有的节点是独立存在的,为节点设置标签,那么拥有相同标签的节点属于一个分组,一个集合;关系通过关系类型来分组,类型相同的关

杜海的博客 846

Modelsim:LPDDR5仿真(含美光仿真模型官方sv&vcs代码)

虽然,三星在设计跟量产上,早于其他家存储产商,但是镁光后来居上了,是业界首家支持全速 LPDDR5 的供应商,并且开发者在做开发的时候,也是用美光颗粒比较多,所以这里就先以美光的仿真模型为主进行仿真。 本工程为美光官方工程,支持Modelsim、VCS、ncverilog三种仿真器仿真。模型破解过,为完整system-verilog代码。

千歌叹尽执夏的博客 1281

Neo4j图库概念和基础语句

Neo4j 使用属性图数据库模型。 图数据结构由可以通过关系连接的节点(离散对象)组成。 示例 1. 图结构的概念。 具有三个节点(圆圈)和三个关系(箭头)的图形。 Neo4j 属性图数据库模型包括: 节点描述域的实体(离散对象)。 节点可以有零个或多个标签来定义(分类)它们是什么类型的节点。 关系描述了源节点和目标节点之间的连接。 关系总是有一个方向(一个方向)。 关系必须有一个类型(一种类型)来定义(分类)...

小石潭记丶 710

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

史上最全面的Neo4j使用指南

Neo4j图形数据库教程 Neo4j图形数据库教程 第一章:介绍 Neo4j是什么 Neo4j的特点 Neo4j的优点 第二章:安装 1.环境 2.下载 3.开启远程访问 4.测试 第三章:CQL 1.CQL简介 2.Neo4j CQL命令/条款 3.Neo4j CQL 函数 4.Neo4j CQL数据类型 第四章:...

weixin_34314962的博客 8316

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

图数据库初探——3. 从一个示例查看neo4j的图数据库

0 示例图数据库说明 首先要了解这个数据库的模式,边和关系等的规定。 其实对应于github中fraud-detection/documentation/fraud-detection.neo4j-browser-guide这个项目,但是格式像html又不是html,所以只能使用这个desktop打开。 谷歌翻译: 示例GDS工作流演示了图形数据科学在金融领域的应用。本浏览器指南包含密码代码片段和每张幻灯片中的简要说明,以帮助进行实践练习。 我们将使用GDS库让您了解第一方和合成身份欺诈检测和调查中的

啷个哩个啷 5497

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Neo4j全文索引的使用

一、 简介 本博客针对Neo4j 3.5版本,原始内容请见官方文档:https://neo4j.com/docs/cypher-manual/3.5/schema/index/ Neo4j的全文索引采用Lucene,能够对neo4j中string类型的属性建立全文索引。 能够同时为node和relationship的属性建立索引。而neo4j内嵌的索引仅能够对node的属性建立索引。 ...

xiaqingyin的博客 3911

Neo4j存储原理与数据结构

Neo4j存储原理与数据结构

weixin_44188105的博客 3427

图形数据库之Neo4j核心概念介绍(二)

[img]http://dl2.iteye.com/upload/attachment/0120/3433/e84b4219-9e96-31fb-927f-241366d91c74.png[/img] 最近这段时间一直在搞知识图谱的一个项目,有点忙,所以博客更新有点慢,现在第一阶段的开发基本完活,后面有空会总结几篇与neo4j有关的文章。 有关neo4j的介绍和使用场景,这里不多说...

三劫散仙 479

neo4j 知识图谱_Neo4j 简介和底层存储格式剖析

2019 年 12 月 23 日 06:00:00 整理了以前非保密部分的工作。2020 年 1 月 1 日 更新schema部分。出于工作需要对 Neo4j 的源码进行了剖析,从而分析其底层存储结构。—— 2018 年 in 微软图数据库现实中很多数据都是用图来表达的,比如社交网络中人与人的关系、地图数据、或是基因信息等等。RDBMS并不适合表达这类数据,而且由于海量数据的存在,让其显得捉...

weixin_39981400的博客 1752

Neo4j 版本4 新特性介绍 - 多数据库

1. 目标 在本指南中,我们将逐步介绍如何在Neo4j 4企业版DBMS中管理多个数据库。 本文原文链接:https://neo4j.com/developer/manage-multiple-databases/ 2. 先决条件 请下载并安装Neo4j(4.0或更高版本)企业版。 阅读有关图数据库的部分会有所帮助。 3. 概述 在Neo4j(v4.0 +)中,我们可以同时创建和使用多个活动数据库。 这适用于独立部署和因果群集部署,并允许我们在一个Neo4j数据库安装中维护多个单独的图。..

GraphWay的博客 3392

cypher三(function、schema)

function predicates(断言) all语法  ALL(identifier in collection WHERE predicate)    any(至少一个),none,single(恰好一个)  exist语法   EXISTS( pattern-or-property ) scalar(标量) coalesce(,,,)(合并)  返回第一个非空值,都为

Jinming Su 4640

Neo4j数据建模优化:标签 VS 索引

原文链接:http://graphaware.com/neo4j/2015/01/16/neo4j-graph-model-design-labels-versus-indexed-properties.html 在设计Neoj图形化数据库的时候,一个通常的问题是:如何处理带标记的数据。比如,标记用户是否活跃,标记博客是否发布,标记文章是否被阅读等。介绍在SQL中,通常会创建一个boolean

逆水行舟 6681

Neo4j入门级学习笔记

Neo4j是一个java开发的图数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。相对于关系数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。Neo4j还提供了非常快的图算法、...

布道 9112

Neo4j基础篇(一)

Neo4j 安装 到官网下载Neo4j,我下载的是Windows版的。 下载完成之后将其解压即可使用。 打开cmd进入解压后目录下的bin文件夹 neo4j指令相关的几个参数为: 1.  console:打开Neo4j的控制台  2. start:启动  3. stop:关闭  4. restart:重启  5. status:查看运行状态  6. install-service:安装Neo4j在Windows系统上的服务。  7. un

qq_38107043的博客 673
下一篇: 消息中间件之Kafka
XTool 极客工具
博客等级 码龄14年 171粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值