C#&.NET Core(.NET 7)程序中如何使用Elasticsearch.Net和NEST直接执行原始的DSL查询脚本语句呢?
                
                2.54K 次浏览
                    
                
            
            
        2 个回答
- 
                            
                            以下是.NET Core中使用NEST的 LowLevel.Search()方法执行原始的DSL查询的示例:以下是对代码片段的解读: 1.创建ConnectionSettings对象在上面的代码中,创建了一个 ConnectionSettings对象,用于配置与Elasticsearch服务器的连接。设置连接地址为http://192.168.1.91:9200,并使用基本身份验证(用户名elastic,密码123456)进行身份验证。2.创建ElasticClient对象在上面的代码中,使用上一步中创建的 ConnectionSettings对象创建了一个ElasticClient对象,该对象提供了与Elasticsearch服务器进行高级别操作的方法,例如索引和查询数据等。3.创建查询DSL字符串在上面的代码中,创建了一个包含DSL查询语句的JSON字符串。该查询使用了 match_all查询,表示查询所有文档,同时指定返回结果数量为2。4.执行查询在上面的代码中,使用 LowLevel.Search方法执行查询,指定要查询的索引名称(test)和查询DSL字符串(json)作为参数。此外,指定了SearchResponse<dynamic>作为响应类型,以便将响应转换为包含所有结果的SearchResponse对象。查询结果可以通过Total属性获取总命中数,通过Hits属性获取每个命中文档的详细信息,例如文档ID、文档分数和文档字段等。5.处理查询结果在上面的代码中,使用 Total属性获取总命中数,并使用foreach循环遍历每个命中文档的详细信息。在循环中,使用Source属性获取文档的字段信息,例如在文档中使用名称为sid的字段。
