【问题标题】:ElasticSearch Nest Client initialize results varElasticSearch Nest 客户端初始化结果变量
【发布时间】:2023-03-30 03:45:01
【问题描述】:

我正在使用 Nest 客户端查询 ElasticSearch,并根据参数使用 switch 语句创建不同的查询

switch (parameter)
{
    case 1:
    var results = this.ConnectedClient.Search<ElasticSearchProject>(...
    break;
    case 2:
    var results = this.ConnectedClient.Search<ElasticSearchProject>(...
    break;
}

当我尝试在 case 语句之外处理结果时,我不能,因为结果变量在此上下文中不存在。

我试图声明结果 var 超出大小写,但它必须被初始化。

我怎样才能找到解决方案。

【问题讨论】:

    标签: elasticsearch nest


    【解决方案1】:

    在这种情况下,我使用 SearchDescriptor 类并在其上设置所需的搜索设置并将其传递给我的 Search 方法调用。

    所以你的例子。

    var searchDescriptor = new SearchDescriptor<ElasticSearchProject>();
     //You can also set options here like Types, Indexes, Fields, Rows, Start
    
     switch (parameter)
     {
         case 1:
            //Set parameter 1 specific search options here...
            searchDescriptor.Query(...
            break;
         case 2:
            //Set parameter 2 specific search options here...
            searchDescriptor.Query(...
            break;
     } 
    
     var results = this.ConnectdClient.Search<ElasticSearchProject>(searchDescriptor);
    

    【讨论】:

    • 非常感谢。这正是我想要的。
    猜你喜欢
    • 2013-03-31
    • 2019-05-05
    • 2017-12-22
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2020-12-22
    • 2019-09-07
    相关资源
    最近更新 更多