/// <summary> /// Verify that the request sent to ES for a single term is being set up correctly. /// </summary> public void Check_For_Correct_Request_Data() { string term = "Breast Cancer"; ISearchTemplateRequest actualReq = null; //Setup the client with the request handler callback to be executed later. IElasticClient client = ElasticTools.GetMockedSearchTemplateClient <Suggestion>( req => actualReq = req, resMock => { //Make sure we say that the response is valid. resMock.Setup(res => res.IsValid).Returns(true); } // We don't care what the response looks like. ); IOptions <AutosuggestIndexOptions> config = GetMockedAutosuggestIndexOptions(); AutosuggestController controller = new AutosuggestController( client, config, NullLogger <AutosuggestController> .Instance ); //NOTE: this is when actualReq will get set. controller.Get( "cgov", "en", term ); SearchTemplateRequest <Suggestion> expReq = GetSearchRequest <Suggestion>( "cgov", // Search index to look in. "autosg_suggest_cgov_en", // Template name, preceded by the name of the directory it's stored in. term, // Search term 10, // Max number of records to retrieve. "\"url\", \"title\", \"metatag.description\", \"metatag.dcterms.type\"", "all" ); Assert.Equal( expReq, actualReq, new ElasticTools.SearchTemplateRequestComparer() ); }
public void SearchTemplateByQuery_ObjectInitializer() { var request = new SearchTemplateRequest { Template = _template, Params = new Dictionary<string, object> { { "my_from", 0 }, { "my_size", 5 }, { "my_field", "name" }, { "my_value", "em-elasticsearch" } } }; var result = this.Client.SearchTemplate<ElasticsearchProject>(request); result.IsValid.Should().BeTrue(); result.Hits.Count().Should().BeGreaterThan(0); }
public void SearchTemplateByQuery_ObjectInitializer() { var request = new SearchTemplateRequest { Template = _template, Params = new Dictionary <string, object> { { "my_from", 0 }, { "my_size", 5 }, { "my_field", "name" }, { "my_value", "em-elasticsearch" } } }; var result = this.Client.SearchTemplate <ElasticsearchProject>(request); result.IsValid.Should().BeTrue(); result.Hits.Count().Should().BeGreaterThan(0); }
/// <summary> /// Helper method to build a SearchTemplateRequest for testing purposes. /// </summary> /// <param name="index">The index to fetch from</param> /// <param name="fileName">The template fileName to use</param> /// <param name="term">The search term we are looking for</param> /// <param name="size">The result set size</param> /// <param name="fields">The fields we are requesting</param> /// <param name="site">The sites to filter the results by</param> /// <returns>A SearchTemplateRequest</returns> private SearchTemplateRequest <T> GetSearchRequest <T>( string index, string fileName, string term, int size, string fields, string site ) where T : class { SearchTemplateRequest <T> expReq = new SearchTemplateRequest <T>(index) { File = fileName }; expReq.Params = new Dictionary <string, object>(); expReq.Params.Add("searchstring", term); expReq.Params.Add("my_size", size); return(expReq); }
/// <summary> /// Helper method to build a SearchTemplateRequest in a more compact manner /// </summary> /// <param name="index">The index to fetch from</param> /// <param name="file">The template file to use</param> /// <param name="term">The search term we are looking for</param> /// <param name="size">The result set size</param> /// <param name="from">Where to start the results from</param> /// <param name="fields">The fields we are requesting</param> /// <param name="site">The sites to filter the results by</param> /// <returns>A SearchTemplateRequest</returns> private SearchTemplateRequest <SiteWideSearchResult> GetSearchRequest( string index, string file, string term, int size, int from, string fields, string site ) { SearchTemplateRequest <SiteWideSearchResult> expReq = new SearchTemplateRequest <SiteWideSearchResult>(index) { File = file }; expReq.Params = new Dictionary <string, object>(); expReq.Params.Add("my_value", term); expReq.Params.Add("my_size", size); expReq.Params.Add("my_from", from); expReq.Params.Add("my_fields", fields); expReq.Params.Add("my_site", site); return(expReq); }