[英]Elastic Search Nest C# Syntax Error: using wildcard and multimatch within one query
我有一個查詢,我想擁有兩個子句:一個用於.MultiMatch
,另一個用於.Wildcard
。 通配符與多重匹配無關。
我可以讓它們分別工作,但不能一起工作。 Visual Studio中的當前錯誤消息的下划線標有Wildcard
並顯示以下內容:
Querycontainer does not contain a definition for 'Wildcard'...
這是我嘗試實現的代碼。 我試圖把.Wildcard
和.MultiMatch
在不同的.Should
碎片,但無濟於事。
.Query(q => q
.Bool(b => b
.Should(m => m
.MultiMatch(ma => ma
.Fields(f => f.Field("_id")
.Field("elements.location.city")
.Field("ticket_number")
)
.Query(query)
)
.Wildcard(c => c
.Field("name").Value(query.ToLower() + "*")
)
)
)
)
您在第8行看到的query
將作為參數傳遞給該函數。
如上所述,第10行是手頭的問題,因為查詢容器不知道如何處理通配符。
任何和所有的輸入表示贊賞。
這取決於在MultiMatch
和Wildcard
查詢之間要使用哪種布爾條件?
例如在這里,我要尋找滿足兩個記錄MultiMatch
和 WildCard
查詢:
.Query(q => q
.Bool(b => b
.Must(m => m
.MultiMatch(mm => mm
.Fields(f => f.Field("FieldName"))
.Query("MyKeyword")
), wc => wc
.Wildcard(c => c
.Field("FieldName")
.Value("*Something*")
)
)
)
));
如果要進行OR運算 ,請使用Should
而不是Must
:請參閱Bool查詢用法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.