您可以通过搜索和过滤器实现您想要的:
// Approach #1
string currentDate = DateTime.UtcNow.ToString("O");
var parameters = new SearchParameters()
{
Filter = "soldDate lt " + currentDate,
Top = 5
}
results = indexClient.Documents.Search<Hotel>("john", parameters);
这会将文档过滤为仅具有soldDate
before的文档currentDate
,然后搜索过滤后的文档,以便如果任何可搜索字段包含“john”,则文档匹配。您可以将其缩小到以下title
字段:
// Approach #2
string currentDate = DateTime.UtcNow.ToString("O");
var parameters = new SearchParameters()
{
Filter = "soldDate lt " + currentDate,
SearchFields = new[] { "title" },
Top = 5
}
results = indexClient.Documents.Search<Hotel>("john", parameters);
或者像这样:
// Approach #3
string currentDate = DateTime.UtcNow.ToString("O");
var parameters = new SearchParameters()
{
Filter = "soldDate lt " + currentDate,
QueryType = QueryType.Full,
Top = 5
}
results = indexClient.Documents.Search<Hotel>("title:john", parameters);
您使用哪种方式取决于您是否希望将所有搜索词限制为一组特定的字段(方法 #2),或者是否希望特定词与特定字段匹配(方法 #3)。
的参考资料SearchParameters
在docs.microsoft.com上。