当前位置: 首页 > 知识库问答 >
问题:

索引集合spring数据neo4j

曹焱
2023-03-14

我正在实验/学习Spring数据neo4j。我有一个非常简单的应用程序,可以存储来自推特的推文。请参阅下面的片段。

@NodeEntity
public class Tweet {

    @GraphId
    private Long id;

    private String tweet;

    @Indexed
    Set<String> hashtags;

问题是,存储哈希标签的最佳方式是什么,这样我就可以快速获取它们所属的推文?我能想到的是要么在Set上使用@索引,要么实际上创建一个单独的标签NodeEntity,并在它和推文之间建立关系。我找不到在NodeEntity中索引集合的任何留档,所以我不确定是否在set对象上创建了索引,或者Set中的每个字符串都被索引。任何建议将是好的。谢谢。

共有1个答案

夹谷山
2023-03-14

当你做一个@Indexed时,它会被放入Neo4j的索引系统,即Lucene。Lucene实际上并不为集合编制索引,而是集合的字符串表示形式。

至于你的数据模型,我会创建一个每个推文都会连接到的HashTag节点。你最终会遇到更常见的哈希标签的密集节点问题,但总的来说,它会让你做更多的分析,比如用同一个哈希标签获取所有推文。

 类似资料:
  • 我正在使用: neo4j 2.0。1 我有一个具有属性名称的节点人员,我想用Lucene语法搜索该属性。我在我的存储库中使用findByNamelike方法,它非常适合像value*或*value或*etc这样的查询。 但是我需要这样的查询{A*TO D*}。我发现了一个弃用的方法findAllByQuery(名称,查询),用这个方法我可以实现我的需求。 > 我还注意到,如果我从cypher创建节

  • 在索引上合并是不好的做法吗?不可能吗?如果是,如何将索引转换为名为“index”的新列?

  • 最初,我认为将一个多索引对象传递给。loc可以提取出我想要的值/级别,但这是行不通的。做这样的事情最好的方法是什么?

  • 问题内容: 我有以下数据框: 如何合并索引以获取: 我问,因为据我了解,即使用列进行匹配。实际上,这样做我得到: 在索引上合并是不好的做法吗?不可能吗 如果是这样,如何将索引移到称为“索引”的新列中? 问题答案: 使用,默认情况下是内部联接: 或,默认情况下为左连接: 或,默认情况下为外部联接: 样品 :

  • 我有两个形状相同的python数据帧,例如: 我想使用df2中的值作为行索引来选择df1中的值,并创建一个形状相等的新数据帧。预期结果: 我已尝试使用.loc,它在单个列中运行良好: 但是我不能同时在所有列上使用. loc或. iloc。我想避免循环来优化性能,因为我正在处理一个大数据帧。有什么想法吗?

  • 我的问题与[这里][1]相同。我已经创建了一个索引“