/// <inheritdoc /> public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { foreach (var p in parsers) { p.Parse(xml, results); } }
public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { if (results is SolrQueryResults <T> ) { Parse(xml, (SolrQueryResults <T>)results); } }
public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { // IsNullOrEmpty part is needed to pass tests -- ptasz3k var resultNode = xml.Element("response").Elements("result").FirstOrDefault(e => String.IsNullOrEmpty((string)e.Attribute("name")) || (string)e.Attribute("name") == "response"); //FIX BY klaas //If resultNode == null exit func // This can occur when grouped results are returned if (resultNode == null) { return; } results.NumFound = Convert.ToInt32(resultNode.Attribute("numFound").Value); var maxScore = resultNode.Attribute("maxScore"); if (maxScore != null) { results.MaxScore = double.Parse(maxScore.Value, CultureInfo.InvariantCulture.NumberFormat); } foreach (var result in docParser.ParseResults(resultNode)) { results.Add(result); } }
/// <summary> /// Header parser /// </summary> /// <param name="xml">XML</param> /// <param name="results">results</param> public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { var header = Parse(xml); if (header != null) { results.Header = header.responseHeader; } }
public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { var mainFacetNode = xml.XPathSelectElement("response/lst[@name='facet_counts']"); if (mainFacetNode != null) { results.FacetQueries = ParseFacetQueries(mainFacetNode); results.FacetFields = ParseFacetFields(mainFacetNode); results.FacetDates = ParseFacetDates(mainFacetNode); results.FacetPivots = ParseFacetPivots(mainFacetNode); } }
public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { var mainFacetNode = xml.Element("response") .Elements("lst") .FirstOrDefault(X.AttrEq("name", "facet_counts")); if (mainFacetNode != null) { results.FacetQueries = ParseFacetQueries(mainFacetNode); results.FacetFields = ParseFacetFields(mainFacetNode); results.FacetDates = ParseFacetDates(mainFacetNode); results.FacetPivots = ParseFacetPivots(mainFacetNode); } }
private void TransferFacetsToMaps(AbstractSolrQueryResults <Dictionary <string, object> > result) { foreach (var filter in _context.Entity.Filter.Where(f => f.Type == "facet")) { if (result.FacetFields.ContainsKey(filter.Field)) { var facet = result.FacetFields[filter.Field]; var map = _context.Process.Maps.First(m => m.Name == filter.Map); foreach (var f in facet) { map.Items.Add(new MapItem { From = $"{f.Key} ({f.Value})", To = f.Key }); } } } }
public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { var resultNode = GetMainResultNode(xml) ?? GetGroupResultNode(xml); if (resultNode == null) { return; } results.NumFound = Convert.ToInt32(resultNode.Attribute("numFound").Value); var maxScore = resultNode.Attribute("maxScore"); if (maxScore != null) { results.MaxScore = double.Parse(maxScore.Value, CultureInfo.InvariantCulture.NumberFormat); } results.AddRange(docParser.ParseResults(resultNode)); }
public void Parse(XDocument xml, AbstractSolrQueryResults<T> results) { results.Switch(query : r => Parse(xml, r), moreLikeThis : F.DoNothing); }
public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { parser.Parse(xml, results); }
/// <summary> /// Parses a chunk of a query response into the results object /// </summary> /// <param name="xml">query response</param> /// <param name="results">results object</param> public void Parse(XDocument xml, AbstractSolrQueryResults <T> results) { var parser = ServiceLocator.Current.GetInstance <ISolrAbstractResponseParser <T> >(); parser.Parse(xml, results); }