你可以達到你想要的搜索和過濾器是什麼:
// 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 –