Don't miss out Virtual Happy Hour this Friday (April 26).
Don't miss out Virtual Happy Hour this Friday (April 26).
Don't think the OrFilter will take care of that entire block below right? It will just work on that specific expression so you will basically have in your case above:
result = SearchClient.Instance.Search()
.For(query)
.Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString())) //AND
.Filter(x => x.CategoryTag.Match(new ContentReference(category))) //AND
( .Filter(filterBuilder) //OR
.OrFilter(HashfilterBuilder)) //AND
.Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString())) //AND
.Filter(x => x.CategoryTag.Match(new ContentReference(category))) //AND
.OrderByDescending(x => x.StartPublish)
.Skip(offSet * pageSize)
.Take(pageSize)
.StaticallyCacheFor(TimeSpan.FromMinutes(0))
.GetPagesResult(LanguageSelector.AutoDetect());
You can instead use bolean expressions like:
var searchQuery = client.Search<BlogPost>() .Filter( x => (x.Title.Match("Search") & x.Tags.Match("Find")) | x.Title.Match("Find"));
or similar for you and use a big phat paranthesis around your two groups of filters
Since the only difference is the two filter builders, you could simply change your query to:
.For(query) .Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString())) .Filter(x => x.CategoryTag.Match(new ContentReference(category))) .Filter(filterBuilder | HashfilterBuilder)
If needed, cast the filterBuilders to the "Filter" type.
I want to search using the follwing filter condition. please check and let me know my syntax is ok or not?
Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString())) and Filter(x => x.CategoryTag.Match(new ContentReference(category))) and Filter(filterBuilder)
or
Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString())) and Filter(x => x.CategoryTag.Match(new ContentReference(category))) and Filter(HashfilterBuilder)
Syntax
result = SearchClient.Instance.Search()
.For(query)
.Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString()))
.Filter(x => x.CategoryTag.Match(new ContentReference(category)))
.Filter(filterBuilder)
.OrFilter(HashfilterBuilder)
.Filter(x => x.Ancestors().Match(ContentReference.StartPage.ID.ToString()))
.Filter(x => x.CategoryTag.Match(new ContentReference(category)))
.OrderByDescending(x => x.StartPublish)
.Skip(offSet * pageSize)
.Take(pageSize)
.StaticallyCacheFor(TimeSpan.FromMinutes(0))
.GetPagesResult(LanguageSelector.AutoDetect());