[英]Elastic Search Nest C# Syntax Error: using wildcard and multimatch within one query
[英]C# Nest Elastic Search Wildcard Query - No Results Returned
我正在嘗試使用通配符在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 + "*")
)
)
)
)
因此,對於使用MultiMatch
時的函數參數query
,您將在最后執行.Query(query)
,但是當我嘗試將其放入通配符時,會出現語法錯誤。 根據NEST ES文檔,您似乎在最后沒有使用.Query
。
當前返回一個空數組。
由於我不熟悉Nest和C#,因此對此有任何見識將不勝感激。
通過執行以下操作,我能夠解決我的問題:
.Query(q => q
.Bool(b => b
.Should(m => m
.Wildcard(c => c
.Field("name").Value(query.ToLower() + "*")
)
)
)
)
query
是作為函數參數傳入的,我希望星號在query
后接受所有信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.