C# Nest Elastic Search 通配符查询 - 未返回结果

Nub*_*lar 5 c# elasticsearch nest

我正在尝试使用通配符在 C# 中设置查询。我可以使用返回的正确数据,MultiMatch但使用通配符没有成功。这是我到目前为止所拥有的:

public async Task<IEnumerable<SearchResultModel>> Search(string query)
     var queryResults = await elasticApp.SearchAsync<dynamic>(s => s
        .From(0)
        .Take(10)
        .Index(activeIndices)
        .Type(dataTypes)
        .Query(q => q
            .Bool(b => b
                .Should(m => m
                    .Wildcard(w => w
                        .Field("name")
                            .Value(w + "*")                            
                     )
                 )
             )
         )
Run Code Online (Sandbox Code Playgroud)

因此,对于query使用时的函数参数MultiMatch,您可以.Query(query)在最后执行,但是当我尝试将其放入使用通配符时,我会遇到语法错误。根据 NEST ES 文档,您似乎.Query最后没有使用。

当前返回一个空数组。

任何对此的见解将不胜感激,因为我是使用 Nest 和 C# 的新手。

Nub*_*lar 8

我能够通过执行以下操作解决我的问题:

.Query(q => q                    
  .Bool(b => b                     
    .Should(m => m
      .Wildcard(c => c
        .Field("name").Value(query.ToLower() + "*")
      )
    )
  )
)
Run Code Online (Sandbox Code Playgroud)

query作为函数参数传入,我希望星号代表 后面的所有内容query