亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Nest 從 Json ElasticSearch 獲取 logType 和 level?

如何使用 Nest 從 Json ElasticSearch 獲取 logType 和 level?

C#
動漫人物 2023-08-13 14:06:09
我有一個數據網格,我想在數據網格上方的一些文本框中顯示當前所選行的一些詳細信息。我正在使用 Telerik 的網格,并且 SelectionUnit=Mixed 和 SelectionMode=Extended。因此 SelectedItem 和 SelectedItems 始終為 null。我的工作解決方案是,我創建了一個附加屬性,如果僅選擇一行中的單元格,則該屬性提供該行的值;如果選擇多個值中的單元格,則提供虛擬值。網格的該部分定義為:<telerik:RadGridView b:myBehavior.CurrentRow="{Binding Path=Data.SelectedRow, Source={StaticResource DataContextProxy}}" Name="myGridView" ...>并且使用以下代碼在文本框中引用這些值:<TextBox Text="{Binding Path=(b:myBehavior.CurrentRow).TextValue, ElementName=myGridView}" />正如您所看到的,我必須在我的 viewModel 中創建一個屬性綁定。有沒有辦法在不使用視圖模型的情況下初始化附加屬性?要么提供虛擬記錄,要么提供 NULL?如果我set b:myBehavior.CurrentRow=""得到異常(無效值)。我需要在這里做什么才能讓它運行?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

因為要獲取字段中具有精確值的文檔,所以需要使用term 查詢。所以這個 elasticsearch 查詢將適合你:

GET slog-2019-07-29/_search

{

? "query": {

? ? "term": {

? ? ? "logLevel.keyword": {

? ? ? ? "value": "Information"

? ? ? }

? ? }

? }

}

請注意,對于我使用的字段logLevel.keyword而不是logLevel這個,是因為字段是關鍵字logLevel.keyword類型,這在您的情況下非常有用,因為elasticsearch不會分析此類字段中的值,因此在elasticsearch中保存為. 這將使您能夠找到特定字段中具有精確值的文檔。對于保存為.InformationInformationlogLeveltextinformation


我們還需要使用術語查詢,因為我們不希望elasticsearch 分析我們放入的內容value。


現在,使用 NEST,您可以使用以下代碼編寫此類查詢:


var searchResponse = await elasticClient

? ? .SearchAsync<Document>(s => s

? ? ? ? .Query(q => q

? ? ? ? ? ? .Term(t => t

? ? ? ? ? ? ? ? .Field(f => f.LogLevel.Suffix("keyword"))

? ? ? ? ? ? ? ? .Value("Information"))));


class Document

{

? ? public string LogLevel { get; set; }

}

LogLevel 應為“ERROR” LogType 應為“Response”。


為此,您需要使用bool 查詢,它允許您將多個條件組合到一個查詢中。


GET slog-2019-07-29/_search

{

? "query": {

? ? "bool": {

? ? ? "must": [

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "logLevel.keyword": {

? ? ? ? ? ? ? "value": "ERROR"

? ? ? ? ? ? }

? ? ? ? ? }

? ? ? ? },

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "logType.keyword": {

? ? ? ? ? ? ? "value": "Response"

? ? ? ? ? ? }

? ? ? ? ? }

? ? ? ? }

? ? ? ]

? ? }

? }

}


查看完整回答
反對 回復 2023-08-13
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號