У меня есть запрос multiSearch, как показано ниже. В основном я запрашиваю типы продуктов и категорий. Я хотел бы сделать этот запрос необязательным, не перезаписывая тот же код снова. В основном в некоторых случаях я хочу запросить только тип продукта, это означает, что он не будет многопользовательским, а поисковым запросом. Как я могу разделить этот запрос на 2 поисковых запроса. Что-то вроде ниже, я думаю.Nest multisearch query writing как инициализатор объекта Синтаксис
return Client.MultiSearch(ms => ms
.Search<Product>("products", s => s
.Index(IndexName)
.Explain(explain)
.Query(q => q
.Bool(b => b
.Should(
sh => sh.MultiMatch(qs => qs
.Fields(d => d
.Field(Name + ".raw", NameBoost + 0.5)
.Field(Name, NameBoost)
.Type(TextQueryType.BestFields)
.Query(key))
))).From(startfrom).Size(size))
.Search<Category>("categories", s => s
.Index(IndexName)
.Explain(explain)
.Query(q => q.
Bool(b => b.
Should(sh => sh.
MultiMatch(m => m
.Fields(d => d
.Field(f => f.Name, NameBoost)
.Field(p => p.Name.Suffix("raw"), NameBoost + 0.5)).Type(TextQueryType.BestFields)
.Query(key)
)
))).From(startfrom).Size(size))
);
что-то вроде этого ниже. Я думаю, что это называется объект инициализатора Синтаксис согласно this статье
Client.MultiSearch (SearchProductQuery & & SearchCategoryQuery)
это возможно?
Какую версию NEST вы используете? Кроме того, какую версию Elasticsearch вы планируете? –
@RussCam Я использую для версии 2.1.0 – batmaci