减少RavenDB中搜索查询对性能的影响

减少RavenDB中搜索查询对性能的影响,ravendb,Ravendb,我想问一下,我减少通配符查询对性能的影响的方法是否合适,或者是否存在更好的方法。 我必须在RavenDB中执行一个“两端通配符”类型的查询,我得出了以下结论: currentSession.query(XYZ.class, Query.index(indexToBeQueried)) .whereEquals("ID", id) .andAlso()

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

currentSession.query(XYZ.class, Query.index(indexToBeQueried))
                                .whereEquals("ID", id)
                                .andAlso()
                                .search("NAME", "*"+Name+"*");
我的假设是,RavenDB首先通过选择与ID字段匹配的所有文档来减少要搜索的结果,然后继续对剩余的结果集执行代价高昂的搜索。 这个假设正确吗?在这种情况下,RavenDB是“按顺序”工作还是我需要以不同的方式工作


谢谢

不,没有。对查询的两个部分进行求值,然后合并以找到最终的结果集


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

不,它不是。对查询的两个部分进行求值,然后合并以找到最终的结果集


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

谢谢您的回答。这是否意味着我应该使用你的NGram分析仪?此外,查询是否会保持不变?(使用通配符?)?感谢您的快速澄清!谢谢你的回答。这是否意味着我应该使用你的NGram分析仪?此外,查询是否会保持不变?(使用通配符?)?感谢您的快速澄清!