Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >属性上使用通配符搜索的Neo4j索引

属性上使用通配符搜索的Neo4j索引
EN

Stack Overflow用户
提问于 2016-01-12 05:35:43
回答 2查看 533关注 0票数 0

我们使用的是Neo4j Community 2.3.1,并且有许多使用通配符的查询。例如,我们搜索在几个较大的属性中有‘car’这个词的所有‘用户’:Profile和Bio (即句子或小段)。

代码语言:javascript
运行
AI代码解释
复制
MATCH (user:User) 
WHERE (user.Profile =~ '(?i).* cars .*') OR (user.Bio =~ '(?i).* cars .*')
RETURN user SKIP 0 LIMIT 20;

“用户”节点的数量超过160万个。

查询相对较慢,尽管我们知道这一点,因为Neo4j使用AllNodesScan,因为属性上没有索引。我们想为这个查询创建一个索引,但是Neo4j‘新的’索引不适用于通配符。

我们正在考虑在Lucene中使用“旧”全文Neo4j索引。还考虑将Bio和Profile变成标记节点,而不是Properties,然后对它们使用Schema索引。

我关心的是实现‘遗留’索引,就像它们一样,嗯,‘遗留’,我正在考虑它们是否会在某个时候被废弃。

关于提高上述通配符搜索性能的建议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-14 07:56:21

关于使用“CONTAINS”,它不能像Neo4j文档那样与新的架构索引一起使用。但谢谢你的建议。

我要回答,把这个标记为“回答”。我们的团队在Neo4j中实现了Neo4j,这是一个奇迹。简单查询的执行时间从大约6秒缩短到<100 to。

票数 1
EN

Stack Overflow用户

发布于 2016-01-12 05:44:08

UPDATE:建议使用schema,但只从当前使用模式索引开始。在未来的版本中,这种情况可能会改变。

您试过使用在CONTAINS 2.3中添加的新Neo4j运算符吗?

代码语言:javascript
运行
AI代码解释
复制
MATCH (user:User) 
WHERE user.Profile CONTAINS "cars" OR user.Bio CONTAINS "cars"
RETURN user SKIP 0 LIMIT 20;

应该对要对其进行字符串筛选的每个字符串属性都设置架构索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34745157

复制
相关文章
机房传统UPS和模块化UPS有什么区别?
前言: 了解模块化UPS的人都知道,如今模块化UPS成为很多企业的新宠,市场份额节节攀高,机房UPS电源产品层出不穷,模块化UPS具有良好的可用性和稳定性,就算其中一个模块发生故障都不会影响其它模块的使用和正常工作,这就意味着,对企业提供了更加良好的安全保障,不会因为整个UPS的故障影响到企业的正常生产,而作为未来发展趋势的模块化UPS与传统UPS电源的区别是怎么样的呢?下面详解: 模块化UPS具有良好的性价比,可以降低企业的购买成本,按需购买,量身定做,扩容方便,模块化UPS能使供电系统随着需求而自动
企鹅号小编
2018/01/12
1.8K0
机房传统UPS和模块化UPS有什么区别?
Closeable和AutoCloseable有什么区别?
导读:我们知道,在java中jvm虚拟机会自动去调用gc(垃圾回收器)去回收堆中没有被引用的对象,至于什么时候回收,是不确定的,同时有些是用到其他资源,jvm也不会进行回收,类似Io流中的FileInputStream使用到了硬盘资源,垃圾回收器是不会去回收的,因此,必须手动关闭掉。我们进行手动的编写close()方法进行关闭,然而,每次这些写会造成代码冗余不优雅,JDK中对于释放资源有Closeable和AutoCloseable可以使用,以下为详解。
码农架构
2021/04/22
3.4K0
Closeable和AutoCloseable有什么区别?
蓝牙和WiFi有什么区别?
如果您拥有手机、笔记本电脑、计算机或任何其他现代电子设备,知道蓝牙和 WiFi 。
网络技术联盟站
2021/11/05
2.4K0
蓝牙和WiFi有什么区别?
OracleJDK和OpenJDK有什么区别?
Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。
码农架构
2021/09/18
2.2K0
OracleJDK和OpenJDK有什么区别?
kubernetes和docker有什么区别
本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。
码农编程进阶笔记
2023/03/23
2.3K0
kubernetes和docker有什么区别
int和Integer有什么区别?
Java虽然号称是面向对象的语言,但是原始数据类型仍然是重要的组成元素,所以在面试中,经常考察原始数据类型和包装类等Java语言特性。
灬沙师弟
2022/10/07
4.3K1
Exception和Error有什么区别?
世界上存在永远不会出错的程序吗?也许这只会出现在程序员的梦中。随着编程语言和软件的诞生,异常情况就如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的
灬沙师弟
2022/09/06
1.7K0
Exception和Error 有什么区别
checkedException 一般是外部错误,这个异常发生在编译阶段。Java 编译器会强制去捕获此类异常。一般会要求把这段可能出现的异常程序进行 try catch。
王小明_HIT
2019/10/15
1.9K0
沪市和深市有什么区别?
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168351.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
1.7K0
声明和定义有什么区别
问题 C/C++ 中,声明和定义有什么区别? 回答 1. 声明不分配存储空间,定义会分配。 定义会实实在在地创造这个东西,而声明只是告诉编译器有这么个东西,它的创造在别处。 extern int bar; // 声明 extern int g(int, int); // 声明 double f(int, double); // 声明 class foo; // 声明 int bar; // 定义 int g(int lhs, int rhs) {return lhs*rhs;} // 定义 double
ClearSeve
2022/02/11
1.7K0
列表和元组有什么区别
如果有了解过python中的列表和元组,你可能会知道相对于列表,元组是不可变的,也就是说元组中的数据不能随意更改。除了列表是用中括号表示而元组是用小括号表示之外,这两种数据类型好像并没有什么不同,都是用来存放一系列的数据,事实真是如此吗? TypeError Traceback (most recent call last) in() 4 5 # 现在改变b中数据的值 — 6 b[2] = 4 TypeError: ‘tuple’ obje
企鹅号小编
2018/02/26
2.2K0
列表和元组有什么区别
Jsp和Servlet有什么区别?
Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service()方法,service()方法会根据需要调用与请求对应的doGet或doPost等方法;当服务器关闭或项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy()方法。
李红
2019/08/28
2.7K0
Jsp和Servlet有什么区别?
int 和 Integer 有什么区别?
int 是 java 的原始数据类型,Integer 是 java 为 int 提供的封装类。
MickyInvQ
2020/09/27
1.7K0
CountdownLatch 和 CycliBarriar 有什么区别?
一位工作5年的小伙伴面试的时候,被问到这样一个问题,说,CountdownLatch 和 CycliBarriar 有什么区别?这个对于很多人都会比较陌生,但是接触过并发编程的小伙伴来说还是比较简单的。
Tom弹架构
2022/12/19
2.6K0
CountdownLatch 和 CycliBarriar 有什么区别?
TCP 和 UDP 有什么区别?
TCP 和 UDP 都是 TCP/IP 协议簇中的比较有代表性的 传输层协议。这里的传输层负责为应用程序提供端对端的通信服务。
前端西瓜哥
2022/12/21
5050
Nginx和Apache有什么区别?
Nginx抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能。
Qicloud
2022/01/21
1.2K0
Apache和Nginx有什么区别
Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;而nginx是异步的,多个连接(万级别)可以对应一个进程。
全栈程序员站长
2022/08/24
1.2K0
URAM和BRAM有什么区别
无论是7系列FPGA、UltraScale还是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我们所说的URAM。BRAM和URAM都是重要的片上存储资源,但两者还是有些显著的区别。
Lauren的FPGA
2019/10/30
7K0
SSH 和 SSM 有什么区别?
本人使用过SSH框架一段时间,最后在优化项目的时候决定使用SSM框架,这两种框架的一些浅显的区别我在这里说下。
JavaFish
2019/10/16
2.8K0
MCU和CPU有什么区别?
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FPGA技术江湖
2020/12/30
2.3K0

相似问题

持久化和序列化有什么区别?

30

缓存和持久化有什么区别?

63

“实例化”和“初始化”有什么区别?

1116

继承和实例化有什么区别?

25

用Python骨骼化图像

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档