Searching operations

Goal

This article contains information about the implementation of the searching process. The C# SDK exposes a method which can be used to make search requests to the Hawksearch API. All of these methods can be found in the HawksearchClient class.

Prerequisite

Installed .NET SDK NuGet package

 

Search


The Search method exposes a functionality to make search requests to the Hawksearch API.

SearchResult Search(SearchQuery query);

Parameters

  • SearchQuery query

public string ClientGuid { get; set; } public string IndexName { get; set; } public string Keyword { get; set; } public int PageNo { get; set; } public int MaxPerPage { get; set; } public string SortBy { get; set; } public string CustomUrl { get; set; } public string SortingSetCode { get; set; } public string SearchWithin { get; set; } public List<string> FacetOverride { get; set; } public List<string> FieldOverride { get; set; } public ClientData ClientData { get; set; } public bool IsInPreview { get; set; } public string ExplainDocId { get; set; } public List<object> SmartBar { get; set; } public bool BoostAndBury { get; set; } public bool VisibilityRules { get; set; } public bool PersonalizedBoost { get; set; } public bool PopularityBoost { get; set; } public bool ItemPin { get; set; } public bool Is100CoverageTurnedOn { get; set; } public Dictionary<string, List<object>> FacetSelections { get; set; }

The SearchQuery object should contain all the information needed to make the request to the Hawksearch API. The mandatory ones are ClientGuid,IndexName,Keyword and FacetSelections.

Returns

  • SearchResult

The Hawksearch API responds with a message which is the mapped to an object of type SearchResult

 

public List<Facet> Facets { get; set; } public List<object> VisitorTargets { get; set; } public Guid TrackingId { get; set; } public bool Success { get; set; } public Pagination Pagination { get; set; } public string Keyword { get; set; } public List<Result> Results { get; set; } public Redirect Selections { get; set; } public FeaturedItems Sorting { get; set; } public Redirect Redirect { get; set; } public FeaturedItems Merchandising { get; set; } public FeaturedItems FeaturedItems { get; set; } public long SearchDuration { get; set; }

The search results are deserialized and mapped to a List<Result> Results

public Guid DocId { get; set; } public long Score { get; set; } public Dictionary<string, List<string>> Document { get; set; } public Redirect BestFragments { get; set; } public bool IsPin { get; set; }

Usage

Call this method when you want to make search requests to the Hawksearch API.

 

Autocomplete


The Autocomplete method exposes a functionality for autocompleting search request depending on input.

Parameters

  • AutocompleteQuery query

This is the data which is expected in order to make a successful autocomplete request

The mandatory ones are ClientGuid, Keyword, IndexName, DisplayFullResponse.

Returns

  • AutocompleteResult

The Hawksearch API returns a response message which is mapped to object of type AutocompleteResult

The actual autocomplete results are mapped to a List<Product> Products

And the data for each result is mapped to an object of type Result

Usage

Call this method when you want to enhance your UI by using the results from the Autocomplete method to display suggestions to your users.