什么是 RavenDB 中的按内容搜索?
What is search by content in RavenDB?
这是我第一次使用 RavenDB。我无法询问代码的创建者为什么做出某些决定,所以我转向互联网陌生人并希望得到一些善意。
整个代码中有许多搜索查询,它们看起来都像:
query.AndAlso().Search("Content", $"*searchExpression*");
query
是一个 RavenDB IDocumentQuery
。 属性 Content
未在正在搜索的文档中定义。
我认为这会搜索文档中的所有属性。不幸的是,我找不到任何关于此的文档,所以我不确定这对性能、安全性和注入攻击有何影响。我什至不确定这是否被积极劝阻。
有人可以阐明这一点吗?即使这只是我 google 搜索的方向,因为“ravendb 内容搜索”并没有 return 很多有用的文章。
编辑:澄清一下,我理解 Search
方法的语法。它需要 属性 进行搜索,然后是正在搜索的表达式。但是我有一个文件
public class Person {
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime DateOfBirth {get; set;}
}
Search
同上。此 Person
文档中没有“内容”属性。然而它确实搜索了一些东西,因为我可以看到文档列表被过滤了。我只是不知道它在过滤什么。
.Search
方法的第一个参数是 属性 选择器。
标记应在其中查找术语的文档字段的表达式。
见方法定义:
您可以在这些测试中看到一个用法示例:
这是我第一次使用 RavenDB。我无法询问代码的创建者为什么做出某些决定,所以我转向互联网陌生人并希望得到一些善意。
整个代码中有许多搜索查询,它们看起来都像:
query.AndAlso().Search("Content", $"*searchExpression*");
query
是一个 RavenDB IDocumentQuery
。 属性 Content
未在正在搜索的文档中定义。
我认为这会搜索文档中的所有属性。不幸的是,我找不到任何关于此的文档,所以我不确定这对性能、安全性和注入攻击有何影响。我什至不确定这是否被积极劝阻。
有人可以阐明这一点吗?即使这只是我 google 搜索的方向,因为“ravendb 内容搜索”并没有 return 很多有用的文章。
编辑:澄清一下,我理解 Search
方法的语法。它需要 属性 进行搜索,然后是正在搜索的表达式。但是我有一个文件
public class Person {
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime DateOfBirth {get; set;}
}
Search
同上。此 Person
文档中没有“内容”属性。然而它确实搜索了一些东西,因为我可以看到文档列表被过滤了。我只是不知道它在过滤什么。
.Search
方法的第一个参数是 属性 选择器。
标记应在其中查找术语的文档字段的表达式。
见方法定义:
您可以在这些测试中看到一个用法示例: