RavenDb搜索多个字符串属性

我正在尝试对多个属性进行搜索。我想获取其属性至少之一包含指定条件的所有项目。以下代码按预期工作,但我想使用“搜索”而不是Lucene查询来实现此目的。


var t = Regex.Replace(term, " ", @"\ ");

var query = session.Advanced

  .DocumentQuery<Order>()

  .Where($"Property1:*{t}* OR Property2:*{t}* OR Property3:*{t}*");


一只斗牛犬
浏览 197回答 2
2回答

慕慕森

自从我问这个问题已经有一段时间了,但是在最近的几天里,我又重新审视了这个问题。我最终以下面显示的方式进行查询,并且一切正常。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var search = $"\"*{term}*\"";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var qOpt = EscapeQueryOptions.RawQuery;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query = query&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Search(o => o.Property1, search, escapeQueryOptions: qOpt)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Search(o => o.Property2, search, escapeQueryOptions: qOpt)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Search(o => o.Property3, search, escapeQueryOptions: qOpt)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Search(o => o.Property4, search, escapeQueryOptions: qOpt);
打开App,查看更多内容
随时随地看视频慕课网APP