【问题标题】:Mixed fulltext and exact matching on neo4j indexneo4j 索引上的混合全文和精确匹配
【发布时间】:2014-03-01 02:15:30
【问题描述】:

在我的 Neo4j 数据库中,我针对称为“posts”的节点设置了一个标准的 lucene 索引,我最终执行了一个组合 AND 查询来过滤掉节点。其中一个是完全匹配(feedid),一个是长值范围(日期范围),另一个是全文查找。

我已将索引设置为默认的“精确”类型,文本(包含)搜索只能通过使用通配符 term 样式搜索来实现,这有点慢。

我认为我可以通过使用全文搜索使文本查找运行得更快,但我似乎无法将两者(精确和全文)组合在一起以形成一个查询。

有没有一种方法可以将全文搜索添加到我的索引中的一个字段,或者基本上可以通过查询来查找一组索引节点上的精确和全文?

非常感谢!詹姆斯

【问题讨论】:

    标签: java lucene full-text-search neo4j


    【解决方案1】:

    索引可以是所有字段的“精确”或“全文”,同一索引中不能有不同类型的字段。对于您的问题,您可以使用多个索引。或者您可以决定对属性值进行一些过滤而不是索引查找。这在很大程度上取决于您的数据模型和图表的大小。

    【讨论】:

    • 感谢您的回答,这很有帮助。当值只是一个没有空格的字符串时,您知道在全文字段上查找与在精确字段上查找之间在性能上是否存在差异?
    • 我认为是一样的。唯一的区别应该是两者之间的索引时间,而不是查找时间。您或许可以从 Lucene 文档中获得更多信息。
    猜你喜欢
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2016-01-12
    相关资源
    最近更新 更多