在查询时,可以使用 SelectParameter 指定返回的结果类型为 JSON,如下所示:
var queryOptions = new QueryOptions
{
SearchMode = SearchMode.All,
Select = new[] { "MyField1", "MyField2" },
SelectParameter = new[] { "value" }
};
var searchResults = await searchIndexClient.Documents
.SearchAsync("query", queryOptions);
其中,MyDocument 是待查询文档的类型,"MyField1" 和 "MyField2" 是需要查询的字段名称,"query" 是查询字符串。
需要注意的是,返回结果中的每个字段值都应该为 JSON 格式,例如,如果 MyField1 是一个包含 JSON 的字符串,则需要将其解析为对应的对象类型:
public class MyDocument
{
public string MyField1 { get; set; }
public MyObject MyField2 { get; set; }
}
public class MyObject
{
public string Property1 { get; set; }
public int Property2 { get; set; }
// ...
}
// 将 MyField1 字段值解析为对象类型
var myDocument = searchResult.Results[0].Document;
myDocument.MyField1 = JsonConvert.DeserializeObject(myDocument.MyField1);