【问题标题】:Reducing performance impact of search query in RavenDB减少 RavenDB 中搜索查询的性能影响
【发布时间】:2018-12-02 15:01:24
【问题描述】:

我想问一下我降低通配符查询对性能影响的方法是否合适 - 或者是否存在更好的方法。 我必须在 RavenDB 中执行“两端通配符”类型的查询,我想出了这个:

currentSession.query(XYZ.class, Query.index(indexToBeQueried))
                                .whereEquals("ID", id)
                                .andAlso()
                                .search("NAME", "*"+Name+"*");

我的假设是 RavenDB 首先通过选择与 ID 字段匹配的所有文档首先减少要搜索的结果,然后继续对剩余的执行昂贵的搜索结果集。 这个假设正确吗?在这种情况下,RavenDB 是“按顺序”工作还是我需要以不同的方式工作?

谢谢!

【问题讨论】:

    标签: ravendb


    【解决方案1】:

    不,它没有。查询的两个部分都经过评估,然后联合起来以找到最终的结果集。

    最好使用全文搜索,而不是这样的查询。

    【讨论】:

    • 感谢您的回答。这是否意味着我应该使用您的 NGram 分析仪?另外,查询会保持不变吗? (使用通配符?)是否像将分析的“标志”添加到索引一样简单?感谢您的快速澄清!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多