[英]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.