减少 RavenDB 中搜索查询的性能影响
Reducing performance impact of search query in RavenDB
我想问一下我减少通配符查询对性能影响的方法是否合适,或者是否存在更好的方法。
我必须在 RavenDB 中执行 "wildcard-on-both-ends" 类型的查询,我想出了这个:
currentSession.query(XYZ.class, Query.index(indexToBeQueried))
.whereEquals("ID", id)
.andAlso()
.search("NAME", "*"+Name+"*");
我的假设是RavenDB首先通过选择匹配ID字段的所有文档来减少要搜索的结果 first, then 进行对剩余的结果集执行代价高昂的搜索。
这个假设是否正确? RavenDB 在这种情况下是否工作 "sequentially" 还是我需要以不同的方式执行此操作?
谢谢!
不,不是。对查询的两个部分进行评估,然后合并以找到最终结果集。
你最好使用全文搜索,而不是像这样的查询。
我想问一下我减少通配符查询对性能影响的方法是否合适,或者是否存在更好的方法。 我必须在 RavenDB 中执行 "wildcard-on-both-ends" 类型的查询,我想出了这个:
currentSession.query(XYZ.class, Query.index(indexToBeQueried))
.whereEquals("ID", id)
.andAlso()
.search("NAME", "*"+Name+"*");
我的假设是RavenDB首先通过选择匹配ID字段的所有文档来减少要搜索的结果 first, then 进行对剩余的结果集执行代价高昂的搜索。 这个假设是否正确? RavenDB 在这种情况下是否工作 "sequentially" 还是我需要以不同的方式执行此操作?
谢谢!
不,不是。对查询的两个部分进行评估,然后合并以找到最终结果集。
你最好使用全文搜索,而不是像这样的查询。