你可以达到你想要的搜索和过滤器是什么:
// 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
前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。
我应该给什么,如果我有一个领域'模型',我需要搜索模型是否包含100(像查询)? –
我应该怎么做才能搜索tilte =“john”和job =“engineer”?基本上都应该像查询 –
@hildasonica你已经在别处问过这个问题,所以我会尝试在那里回答它:http://stackoverflow.com/questions/43510832/how-to-set-a-query-for- like-query-in-azure-search-query-syntax –