小编Nic*_*sas的帖子

如何使用嵌套查询来匹配 NEST Fluent DSL 中的所有术语

我正在尝试使用 Elastic Search 的 .NET API NEST 来查询我的弹性数据存储。

我在尝试查询嵌套对象的属性时遇到了严重的困难。

你看,当我想检查该字段是否有我的术语之一时,我会使用如下内容:

q
.Nested(c => c
    .Name("named_query")
    .Boost(1.1)
    .InnerHits(i=>i.Explain())
    .Path(p=>p.CuratedTags)
    .Query(nq => nq
        .Terms(t => t
            .Field(f => f.CuratedTags.First().Name)
            .Terms("lorem", "ipsum")
        )
    )
    .IgnoreUnmapped()
)
Run Code Online (Sandbox Code Playgroud)

这将匹配标签数组中具有单词 lorem 或 ipsum 的标签。

我想要的是能够找到在其标签数组中同时具有 lorem 和 ipsum 的结果。从外观上看,在术语级别上没有我可以使用并设置为 AND 的运算符选项。

我已经尝试过诸如 Bool Must/Should/Filter 之类的东西。

NEST 文档中似乎没有任何内容与我想要的相匹配。

我的对象在弹性中看起来像这样:

"objectOptions": {
            "type": "nested",
            "properties": {
              "optionId": {
                "type": "integer"
              },
              "objectId": {
                "type": "integer"
              }
            }
          },
Run Code Online (Sandbox Code Playgroud)

以及它的一个例子:

"objectOptions": [
            {
              "objectId": 99,
              "optionId": 249
            },
            { …
Run Code Online (Sandbox Code Playgroud)

c# elasticsearch nest

5
推荐指数
0
解决办法
1693
查看次数

立即等待异步任务 vs 先声明然后等待

让我们看以下两个例子:

public class MyClass 
{
    public async Task Main() 
    {
        var result1 = "";
        var result2 = "";

        var request1 = await DelayMe();
        var request2 = await DelayMe();

        result1 = request1;
        result2 = request2;        
    }

    private static async Task<String> DelayMe()
    {
        await Task.Delay(2000);
        return "";
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

public class MyClass 
{
    public async Task Main() 
    {
        var result1 = "";
        var result2 = "";

        var request1 = DelayMe();
        var request2 = DelayMe();

        result1 = await request1;
        result2 = await …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous task async-await

5
推荐指数
1
解决办法
179
查看次数

标签 统计

c# ×2

async-await ×1

asynchronous ×1

elasticsearch ×1

nest ×1

task ×1