我正試圖編寫一個查詢,只會回覆其中一個字段。現在我正在存儲文件的filePath和文件的內容,並且在我的搜索中我想根據內容進行搜索,但只返回filePath。ElasticSearch NEST返回特定字段
我開始有這樣的說法:
var searchResults = client.Search<File>(
s => s.Query(q => q.Wildcard(w => w.Value("*" + genre + "*").OnField("fileContents"))).AllIndices().AllTypes());
其中在searchResults.Documents
返回結果,並添加點域到它:
var searchResults = client.Search<File>(
s => s.Query(q => q.Wildcard(w => w.Value("*" + genre + "*").OnField("fileContents"))).AllIndices().AllTypes().Fields(f=>f.filePath));
而且它沒有任何東西searchResults.Documents
,但它顯示正確使用的點擊次數爲searchResults.Hits.Total
。
文件類只是:
public class File
{
public string filePath { get; set; }
public string fileContents { get; set; }
}
這將生成以下JSON請求:
{
"fields": [
"filePath"
],
"query": {
"wildcard": {
"fileContents": {
"value": "*int*"
}
}
}
}
,當在檢測結果返回跑去做searchResults.Hits.Total
時給出的點擊次數。
但是,在0123nIEnumerable中沒有記錄。
有沒有不同的方式,我應該返回一個特定的領域?
我找到了解決辦法。在這裏你可以在另一篇文章中看到它。 http://stackoverflow.com/a/32817133/2399279 – ozzimpact