Example #1
0
 /// <inheritdoc />
 public void Parse(XDocument xml, AbstractSolrQueryResults <T> results)
 {
     foreach (var p in parsers)
     {
         p.Parse(xml, results);
     }
 }
Example #2
0
 public void Parse(XDocument xml, AbstractSolrQueryResults <T> results)
 {
     if (results is SolrQueryResults <T> )
     {
         Parse(xml, (SolrQueryResults <T>)results);
     }
 }
Example #3
0
        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;
            }
        }
Example #5
0
        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);
            }
        }
Example #7
0
 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
                 });
             }
         }
     }
 }
Example #8
0
        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));
        }
Example #9
0
 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);
        }