Пример #1
0
 public ActionResult Index(SearchParameters parameters)
 {
     try
     {
         var start            = (parameters.PageIndex - 1) * parameters.PageSize;
         var matchingProducts = _solrOperations.Query(BuildQuery(parameters), new QueryOptions
         {
             FilterQueries = BuildFilterQueries(parameters),
             Rows          = parameters.PageSize,
             Start         = start,
             OrderBy       = GetSelectedSort(parameters),
             SpellCheck    = new SpellCheckingParameters(),
             Facet         = new FacetParameters
             {
                 Queries = AllFacetFields.Except(SelectedFacetFields(parameters))
                           .Select(f => new SolrFacetFieldQuery(f)
                 {
                     MinCount = 1
                 })
                           .Cast <ISolrFacetQuery>()
                           .ToList(),
             },
         });
         ProductView view = new ProductView
         {
             Products   = matchingProducts,
             Search     = parameters,
             TotalCount = matchingProducts.NumFound,
             Facets     = matchingProducts.FacetFields,
             DidYouMean = GetSpellCheckingResult(matchingProducts),
         };
         return(View(view));
     }
     catch (Exception e)
     {
         return(View(new ProductView
         {
             QueryError = true,
             ErrorString = e.ToString()
         }));
     }
 }
Пример #2
0
        private int DeleteSubFingerprintsForTrack(IModelReference trackReference)
        {
            string trackId = SolrModelReference.GetId(trackReference);
            string readAll = string.Format("trackId:{0}", trackId);
            var    results = solrForSubfingerprintsCore.Query(new SolrQuery(readAll));
            var    ids     = results.Select(dto => dto.SubFingerprintId).ToList();

            solrForSubfingerprintsCore.Delete(ids);
            solrForSubfingerprintsCore.Commit();
            return(ids.Count);
        }
Пример #3
0
        public List <T> SearchData(string criteria)
        {
            var results = new List <T>();
            ISolrOperations <T>  solr         = ServiceLocator.Current.GetInstance <ISolrOperations <T> >();
            SolrQueryResults <T> queryResults = solr.Query(new SolrQuery(criteria));

            foreach (T queryResult in queryResults)
            {
                results.Add(queryResult);
            }

            return(results);
        }
Пример #4
0
        public HitterSearchViewModel GetHitterSearch(HitterSearch criteria)
        {
            var query = new SolrQueryByRange <Int32>("year", criteria.YearStart, criteria.YearEnd, true) &&
                        new SolrQueryByRange <Int32>("salary", 0, criteria.MaxSalary) &&
                        new SolrQueryByRange <Int32>("homeruns", criteria.MinHomeRuns, 500);

            var options = GetFactedQueryOptions(criteria.MinHomeRuns);

            var results = _ctx.Query(query, options);

            var searchModel = new HitterSearchViewModel();

            SetSearchModelMainResults(results, searchModel);
            searchModel.OriginalCriteria = criteria;

            GenerateFacetedSearchCategories(results, searchModel);

            searchModel.NumberFound  = results.NumFound;
            searchModel.RecordsShown = results.Count;

            return(searchModel);
        }
Пример #5
0
        public IActionResult Index()
        {
            var userRequests = new UserRequests
            {
                Id         = 1,
                Reference  = "U001",
                Firstname  = "Gilles",
                Firstname2 = "Gilles",
                Lastname   = "Lautrou"
            };

            //Add
            _solr.Add(userRequests);
            _solr.Commit();

            //Get
            var results1 = _solr.Query(new SolrQueryByField("id", "1"));
            var results2 = _solr.Query(new SolrQueryByField("firstname2", "Gilles"));
            var results3 = _solr.Query(new SolrQueryByField("firstname2", "gilles"));
            var results4 = _solr.Query(new SolrQueryByField("firstname2", "lles"));

            return(View());
        }
Пример #6
0
        private static void SetProgrammingFilestoDeleteTrue(ISolrOperations <FileIndex> solr)
        {
            var solrQueryResults = solr.Query(new SolrQuery("matched_functions:\"Programming Files\""));

            foreach (var solrQueryResult in solrQueryResults)
            {
                var atomicUpdateSpecs = new List <AtomicUpdateSpec>
                {
                    new AtomicUpdateSpec(FileIndex.Keys.Delete, AtomicUpdateType.Set, "true")
                };
                solr.AtomicUpdate(solrQueryResult, atomicUpdateSpecs);
            }

            solr.Commit();
        }
        public IEnumerable <int> Get(string First_Name = null, string Dept = null)

        {
            string strQuery = string.Empty;
            // SolrNet.Startup.Init<Employee>("http://localhost:8983/solr/Sample");

            ISolrOperations <Employee> _solr = ServiceLocator.Current.GetInstance <ISolrOperations <Employee> >();

            if (!string.IsNullOrWhiteSpace(First_Name))
            {
                strQuery = "First_Name:" + First_Name;
            }
            if (!string.IsNullOrWhiteSpace(strQuery) && !string.IsNullOrWhiteSpace(Dept))
            {
                strQuery += " AND " + "Dept:" + Dept;
            }
            else if (!string.IsNullOrWhiteSpace(Dept) && string.IsNullOrWhiteSpace(strQuery))
            {
                strQuery += "Dept:" + Dept;
            }
            if (string.IsNullOrWhiteSpace(strQuery))
            {
                strQuery += "*:*";
            }
            //string strQuery = (("First_Name:" + First_Name));

            var       query           = new SolrQuery(strQuery);
            SortOrder sortOrder       = new SortOrder("First_Name");
            var       solrQueryResult = _solr.Query(query, new QueryOptions
            {
                Rows    = 5000, //Max Rows returned
                Start   = 0,
                OrderBy = new[] { sortOrder },
                Fields  = new[] { "Emp_ID" }
            });
            var list = solrQueryResult.ToList();

            //if (list.Count != 0)
            //{
            //   return (IEnumerable<Employee>)NotFound();
            //}
            //else
            //{
            //   return list;
            //}

            return(list.Select(x => x.Emp_ID));
        }
Пример #8
0
        public IEnumerable <Group> SearchGroups(string text)
        {
            var extraParams = new List <KeyValuePair <string, string> >();

            extraParams.Add(new KeyValuePair <string, string>("defType", "edismax"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "name^9"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "description^5"));

            var options = new QueryOptions();

            options.ExtraParams = extraParams;
            options.Fields      = new[] { "id", "name", "description", "score" };

            var result = _groups.Query(new SolrQuery(text), options);

            return(result);
        }
Пример #9
0
        // GET: /<controller>/
        public IActionResult Index()
        {
            var queryOptions = new QueryOptions
            {
                Highlight = new HighlightingParameters
                {
                    Fragsize   = 150,
                    Fields     = new[] { "body" },
                    BeforeTerm = "<span style='background-color: yellow; font-weight: bold;'>",
                    AfterTerm  = "</span>",
                }
            };
            var results    = _solr.Query(new SolrQueryByField("body", HttpContext.Request.Query["q"]), queryOptions);
            var highlights = results.Highlights;

            var resultCount = results.Highlights.Count;

            if (resultCount == 0)
            {
                TempData["Message"] = "<h2>Search</h2><p>No results have been found for your search.  Please try something else.</p>";
                return(View());
            }
            else
            {
                var searchResults = new List <PersonalWebsiteMVC.Models.SolrModel>();
                for (int i = 0; i < resultCount; i++)
                {
                    var highlight = new PersonalWebsiteMVC.Models.SolrModel()
                    {
                        ID    = results[i].ID,
                        Title = results[i].Title,
                        Url   = results[i].Url,
                        //Body = results[i].Body
                    };

                    // highlights are a separate array, and can be an aarray of hits...
                    foreach (var h in highlights[results[i].ID])
                    {
                        highlight.Body += string.Join(",", h.Value.ToArray());
                    }
                    searchResults.Add(highlight);
                }
                return(View(searchResults));
            }
        }
        public EmployeeModel GetEmployeeDetail(ISolrOperations <SearchResultItem> solr, string id)
        {
            EmployeeModel empmodel = null;
            SolrQueryResults <SearchResultItem> searchItems = solr.Query(new SolrQueryByField("id", id));

            if (searchItems != null)
            {
                empmodel = new EmployeeModel {
                    Id         = searchItems[0].Id,
                    FirstName  = searchItems[0].FirstName,
                    LastName   = searchItems[0].LastName,
                    Address    = searchItems[0].Address,
                    Salary     = searchItems[0].Salary,
                    Department = searchItems[0].Department
                };
            }
            return(empmodel);
        }
Пример #11
0
        public SearchResult Search(SearchParameters parameters)
        {
            ISolrQuery query = BuildQuery(parameters);
            var        order = new[] { new SortOrder("score", Order.DESC) };

            if (parameters.OrderBy == "name")
            {
                order = new[] { new SortOrder("RegisterItemName", Order.ASC) };
            }
            else if (parameters.OrderBy == "date_updated")
            {
                order = new[] { new SortOrder("RegisterItemUpdated", Order.DESC) };
            }
            else if (string.IsNullOrWhiteSpace(parameters.Text) && HasNoFacetvalue(parameters.Facets))
            {
                order = new[] { new SortOrder("RegisterItemName", Order.ASC) };
            }
            else if (parameters.OrderBy == "score")
            {
                order = new[] { new SortOrder("score", Order.DESC) };
            }
            try
            {
                SolrQueryResults <RegisterIndexDoc> queryResults = _solrInstance.Query(query, new QueryOptions
                {
                    FilterQueries = BuildFilterQueries(parameters),
                    OrderBy       = order,
                    Rows          = parameters.Limit,
                    Start         = parameters.Offset - 1,
                    Facet         = BuildFacetParameters(parameters),

                    Fields = new[] { "SystemID", "RegisterName", "RegisterDescription", "RegisterItemName", "RegisterItemName_en", "RegisterItemDescription", "RegisterID", "Discriminator", "RegisterItemUpdated", "type",
                                     "ParentRegisterUrl", "RegisteItemUrl", "SubregisterUrl", "subregisterItemUrl", "theme", "organization" }
                });
                return(CreateSearchResults(queryResults, parameters));
            }
            catch (Exception ex)
            {
                Log.Error("Error in search", ex);

                return(CreateSearchResults(null, parameters));
            }
        }
Пример #12
0
        public QueryResponse DoSearch(MovieQuery query)
        {
            //Create an object to hold results
            FiltersFacets   filtersFacets   = new FiltersFacets();
            Highlights      highlights      = new Highlights();
            ExtraParameters extraParameters = new ExtraParameters();

            SolrQueryResults <Movie> solrResults;
            QueryResponse            queryResponse = new QueryResponse
            {
                //Echo back the original query
                OriginalQuery = query
            };

            //Get a connection
            ISolrOperations <Movie> solr         = connection.GetSolrInstance();
            QueryOptions            queryOptions = new QueryOptions
            {
                Rows          = query.Rows,
                StartOrCursor = new StartOrCursor.Start(query.Start),
                FilterQueries = filtersFacets.BuildFilterQueries(query),
                Facet         = filtersFacets.BuildFacets(),
                Highlight     = highlights.BuildHighlightParameters(),
                ExtraParams   = extraParameters.BuildExtraParameters()
            };

            //Execute the query
            ISolrQuery solrQuery = new SolrQuery(query.Query);

            solrResults = solr.Query(solrQuery, queryOptions);

            //Set response
            ResponseExtraction extractResponse = new ResponseExtraction();

            extractResponse.SetHeader(queryResponse, solrResults);
            extractResponse.SetBody(queryResponse, solrResults);
            extractResponse.SetSpellcheck(queryResponse, solrResults);
            extractResponse.SetFacets(queryResponse, solrResults);

            //Return response;
            return(queryResponse);
        }
Пример #13
0
        public QueryResponse DoSearch(EhsQuery query)
        {
            FiltersFacets filtersFacets = new FiltersFacets();
            Highlights    highlights    = new Highlights();


            //Create an object to hold results
            SolrQueryResults <EHSDoc> solrResults;
            QueryResponse             queryResponse = new QueryResponse();

            //Echo back the original query
            queryResponse.QueryText = query;

            //Create method for increased readibility.
            //Move to some sort of application start or build eveuntally.
            bool initialize = Connection.Initialized;
            ISolrOperations <EHSDoc> solr = Connection.SolrOperations;

            QueryOptions queryOptions = new QueryOptions
            {
                Rows          = query.Rows,
                Facet         = filtersFacets.BuildFacets(),
                FilterQueries = filtersFacets.BuildFilterQueries(query),
                Highlight     = highlights.BuildHighlightParameters(),
            };

            //Execute the query
            ISolrQuery solrQuery = new SolrQuery(query.QueryText);

            solrResults = solr.Query(solrQuery, queryOptions);

            //Set response
            ResponseExtraction extractResponse = new ResponseExtraction();

            extractResponse.SetHeader(queryResponse, solrResults);
            extractResponse.SetBody(queryResponse, solrResults);
            extractResponse.SetFacets(queryResponse, solrResults);

            //Return response;
            return(queryResponse);
        }
Пример #14
0
        private static void UpdateData(ISolrOperations <FileIndex> solr)
        {
            Console.WriteLine("Updating Index");
            var dictionary       = GetDictionary();
            var solrQueryResults = solr.Query(new SolrQuery("*"));

            foreach (var key in dictionary.Keys)
            {
                foreach (var solrQueryResult in solrQueryResults)
                {
                    var atomicUpdateSpecs = new List <AtomicUpdateSpec>();
                    if (dictionary[key].IsMatch(solrQueryResult.FilePath))
                    {
                        if (!solrQueryResult.MatchedFunctions.Contains(key))
                        {
                            atomicUpdateSpecs.Add(new AtomicUpdateSpec(FileIndex.Keys.MatchedFunctions, AtomicUpdateType.Add, new[] { key }));
                            atomicUpdateSpecs.Add(new AtomicUpdateSpec(FileIndex.Keys.UnmatchedFunctions, AtomicUpdateType.Remove, new[] { key }));
                        }
                    }
                    else
                    {
                        if (!solrQueryResult.UnmatchedFunctions.Contains(key))
                        {
                            atomicUpdateSpecs.Add(new AtomicUpdateSpec(FileIndex.Keys.UnmatchedFunctions,
                                                                       AtomicUpdateType.Add, new[] { key }));
                            atomicUpdateSpecs.Add(new AtomicUpdateSpec(FileIndex.Keys.MatchedFunctions,
                                                                       AtomicUpdateType.Remove, new[] { key }));
                        }
                    }

                    // don't do the update if there is nothing to do as it will
                    // wipe out all of the data
                    if (atomicUpdateSpecs.Any())
                    {
                        solr.AtomicUpdate(solrQueryResult, atomicUpdateSpecs);
                    }
                }

                solr.Commit();
            }
        }
Пример #15
0
        public static void Search(ISolrOperations <FileIndex> solr)
        {
            Console.Write("Enter Search Term: ");
            var searchTerm = Console.ReadLine();

            try
            {
                var solrQueryResults = solr.Query(new SolrQuery(searchTerm));
                Console.WriteLine($"Count: {solrQueryResults.Count}");

                foreach (var solrQueryResult in solrQueryResults)
                {
                    Console.WriteLine($"File Path: {solrQueryResult.FilePath}");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error performing search");
                Console.WriteLine(e);
            }
        }
Пример #16
0
        public IEnumerable <Medium> SearchMedia(string text)
        {
            var extraParams = new List <KeyValuePair <string, string> >();

            extraParams.Add(new KeyValuePair <string, string>("defType", "edismax"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "groupName^8"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "groupDescription^0"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "type^3"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "owner^10"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "serialNumber^8"));
            extraParams.Add(new KeyValuePair <string, string>("qf", "description^6"));

            var options = new QueryOptions();

            options.ExtraParams = extraParams;
            options.Fields      = new[] { "id", "groupId", "groupName", "groupDescription", "type", "owner", "serialNumber", "description", "score" };

            var result = _medium.Query(new SolrQuery(text), options);

            return(result);
        }
Пример #17
0
        public SolrQueryResults <SearchResult> Search(
            string q,
            int start = 0,
            int count = 10)
        {
            var queryOptions = new QueryOptions
            {
                Start     = start,
                Rows      = count,
                Highlight = new HighlightingParameters()
                {
                    Fields             = new[] { "content" },
                    Snippets           = 10,
                    Fragsize           = 100,
                    HighlightMultiTerm = true,
                    MaxAnalyzedChars   = 2000000,
                    MergeContiguous    = true
                }
            };

            return(_solr.Query(new SolrQuery(q), queryOptions));
        }
Пример #18
0
        /// <summary>
        /// Provide a search string and filter string this will return the top n results.
        /// </summary>
        /// <param name="search">the search term</param>
        /// <param name="channelId">the channel to filter by</param>
        public List <CodeDoc> NaturalLangQuery(string search, string channelId)
        {
            // there is some duplication, should be cleaned up
            ISolrOperations <CodeDoc> solr = ServiceLocator.Current.GetInstance <ISolrOperations <CodeDoc> >();

            List <ISolrQuery> filter = new List <ISolrQuery>();
            var opts = new QueryOptions();

            var lang = GetLanguageRequest(search);

            if (!string.IsNullOrEmpty(lang))
            {
                filter.Add(new SolrQueryByField("prog_language", lang));
            }


            filter.Add(new SolrQueryByField("channel", channelId));
            foreach (var filt in filter)
            {
                opts.AddFilterQueries(filt);
            }

            // return top n results
            opts.Rows = RESULTS;

            var query = new LocalParams {
                { "type", "boost" }, { "b", "recip(ms(NOW,author_date),3.16e-11,-1,1)" }
            } +(new SolrQuery("patch:" + search) || new SolrQuery("commit_message:" + search));
            var codeQuery = solr.Query(query, opts);

            List <CodeDoc> results = new List <CodeDoc>();

            foreach (CodeDoc doc in codeQuery)
            {
                results.Add(doc);
            }

            return(results);
        }
Пример #19
0
        public static int[] QueryQuesIds(int courseId, int kpointId, int[] cpointIds, int typeId, int diffType, int paperYear, int pageIndex, int pageSize, out int totalCount)
        {
            List <int> list = new List <int>();;
            ISolrOperations <dto_SolrQues> solr = ServiceLocator.Current.GetInstance <ISolrOperations <dto_SolrQues> >();

            //SolrMultipleCriteriaQuery sq = GetSolrQueryByField(courseId, kpointId, cpointIds, typeId, diffType, paperYear);
            string       sq      = GetSolrQueryByString(courseId, kpointId, cpointIds, typeId, diffType, paperYear);
            QueryOptions options = GetOptions(pageIndex, pageSize);
            SolrQueryResults <dto_SolrQues> solrResults = solr.Query(sq, options);

            //总数
            totalCount = solrResults.NumFound;

            if (solrResults.Count != 0)
            {
                foreach (var solrQueryResult in solrResults)
                {
                    list.Add(solrQueryResult.id);
                }
            }

            return(list.ToArray());
        }
        public Kartverket.Metadatakatalog.Models.Article.SearchResult Search(Kartverket.Metadatakatalog.Models.Article.SearchParameters parameters)
        {
            ISolrQuery query = parameters.BuildQuery();

            try
            {
                SolrQueryResults <ArticleIndexDoc> queryResults = _solrInstance.Query(query, new QueryOptions
                {
                    OrderBy = parameters.OrderBy(),
                    Rows    = parameters.Limit,
                    Start   = parameters.Offset - 1, //solr is zero-based - we use one-based indexing in api
                    Fields  = new[] { "Id", "Type", "title", "LinkUrl", "MainIntro", "MainBody", "StartPublish", "Author", "LinkArea", "score" }
                });

                return(CreateSearchResults(queryResults, parameters));
            }
            catch (Exception ex)
            {
                Log.Error("Error in search", ex);

                return(CreateSearchResults(null, parameters));
            }
        }
Пример #21
0
        /// <summary>
        /// Queries Solr and looks for exact matches
        /// </summary>
        /// <param name="search"></param>
        /// <param name="channelId"></param>
        /// <returns></returns>
        private List <CodeDoc> BasicQuery(string search, string channelId)
        {
            ISolrOperations <CodeDoc> solr = ServiceLocator.Current.GetInstance <ISolrOperations <CodeDoc> >();

            List <ISolrQuery> filter = new List <ISolrQuery>();
            var opts = new QueryOptions();

            var lang = GetLanguageRequest(search);

            if (!string.IsNullOrEmpty(lang))
            {
                filter.Add(new SolrQueryByField("prog_language", lang));
            }

            filter.Add(new SolrQueryByField("channel", channelId));
            foreach (var filt in filter)
            {
                opts.AddFilterQueries(filt);
            }

            // return top n results
            opts.Rows = RESULTS;

            var query = new LocalParams {
                { "type", "boost" }, { "b", "recip(ms(NOW,author_date),3.16e-11,-1,1)" }
            } +new SolrQuery("unindexed_patch:\"" + search + "\"");
            var codeQuery = solr.Query(query, opts);

            List <CodeDoc> results = new List <CodeDoc>();

            foreach (CodeDoc doc in codeQuery)
            {
                results.Add(doc);
            }

            return(results);
        }
Пример #22
0
        public PersonResultData GetPersonOrder(string transactionId = "", string userId = "", DateTime?beginTime = null, DateTime?endTime = null, int?status = null, string payWay = "", int offset = 0, int limit = 10, string sortBy = "createDateTime", int order = 1)
        {
            PersonResultData resultData = new PersonResultData();
            var stats = new StatsParameters();

            try
            {
                Order ord = order == 1 ? Order.DESC : Order.ASC;
                // 检索条件
                var queryOptions = new QueryOptions()
                {
                    // 偏移量0
                    StartOrCursor = new StartOrCursor.Start(offset),
                    // 数量10
                    Rows = limit,

                    // 排序:默认为下单时间 createDateTime 倒序
                    OrderBy = new SortOrder[] { new SortOrder(sortBy, ord) },

                    // 统计 turnover 字段(包括min,max,sum...)
                    Stats = stats.AddField("turnover")
                };

                // 查询(个人订单:transferInKey=Check)
                var solrQuery = new List <ISolrQuery>()
                {
                    new SolrQuery("transferInKey:Check")
                };
                if (!string.IsNullOrEmpty(transactionId))
                {
                    solrQuery.Add(new SolrQueryByField("id", transactionId));
                }
                if (!string.IsNullOrEmpty(userId))
                {
                    solrQuery.Add(new SolrQueryByField("userKey", userId));
                }
                if (beginTime != null)
                {
                    var fromTime = Convert.ToDateTime(beginTime);
                    var toTime   = (endTime == null ? DateTime.MaxValue : Convert.ToDateTime(endTime));
                    solrQuery.Add(new SolrQueryByRange <DateTime>("createDateTime", fromTime, toTime));
                }
                if (endTime != null)
                {
                    var fromTime = (beginTime == null ? DateTime.MinValue : Convert.ToDateTime(beginTime));
                    var toTime   = Convert.ToDateTime(endTime);
                    solrQuery.Add(new SolrQueryByRange <DateTime>("createDateTime", fromTime, toTime));
                }
                if (status != null)
                {
                    solrQuery.Add(new SolrQueryByField("status", status.ToString()));
                }
                if (!string.IsNullOrEmpty(payWay))
                {
                    solrQuery.Add(new SolrQueryByField("transferOutAccountType", payWay));
                }

                queryOptions.FilterQueries = solrQuery;
                Stopwatch watch = new Stopwatch();
                watch.Start();

                var personOrder = solr.Query(SolrQuery.All, queryOptions);

                watch.Stop();
                int totalCount = personOrder.NumFound;
                resultData = new PersonResultData
                {
                    Status  = 200,
                    Message = "success",
                    Data    = new PersonData
                    {
                        Item       = personOrder,
                        ItemCount  = personOrder.Count,
                        TotalCount = totalCount,
                        TotalMoney = Convert.ToDecimal(personOrder.Stats["turnover"].Sum),
                        Empty      = false
                    }
                };
                log.Info($"获取【{userId}】个人(TatalCount={totalCount},limt={limit}条)订单成功!查询用时{watch.ElapsedMilliseconds}ms");
            }
            catch (Exception ex)
            {
                resultData = new PersonResultData
                {
                    Status  = 500,
                    Message = ex.Message,
                    Data    = null
                };
                log.Error($"获取【{userId}】个人({limit})条订单出错:" + ex);
            }
            return(resultData);
        }
 public IEnumerable <HealthKitData> GetAllHealthKitData()
 {
     return(m_solrServer.Query(new SolrQuery("*:*")).ToArray());
 }
Пример #24
0
 //private ISolrq
 private void RunQuery(string query)
 {
     ISolrOperations <SolrDocument> solr = ServiceLocator.Current.GetInstance <ISolrOperations <SolrDocument> >();
     var q       = new SolrQueryByField("text", query);
     var results = solr.Query(q);
 }
Пример #25
0
        public ActionResult GetAllProducts()
        {
            var products = solr.Query(new SolrQueryByRange <decimal>("price", 10m, 100m)).ToList();

            return(Json(new { products }, JsonRequestBehavior.AllowGet));
        }
Пример #26
0
        public IEnumerable <TodoItem> Search(string searchText)
        {
            var condition = string.IsNullOrEmpty(searchText) ? "*:*" : string.Join($":{searchText} OR ", _config.Value.SolrFilterColumns) + $":{searchText}";

            return(_solr.Query(new SolrQuery(condition)).ToList());
        }
 public IEnumerable <SolrSitecoreItem> Query(string rawQuery)
 {
     return(solr.Query(new SolrQuery(rawQuery)));
 }
Пример #28
0
    private void LoadDataMARDGANI()
    {
        mardgani_colapsediv.Visible = true;

        if (TextBox1.Text == "")
        {
            CollapsiblePanelExtender4.TextLabelID = "Ничего не найдено";
            pMARDGANI.Visible = false;
            return;
        }

        /* MySqlDataAdapter da = new MySqlDataAdapter();
         * DataSet DS = new DataSet();
         * da.SelectCommand = new MySqlCommand();
         * var cs = ConfigurationManager.ConnectionStrings["SphinxConnectionString"].ConnectionString;
         * da.SelectCommand.Connection = new MySqlConnection(cs);
         * da.SelectCommand.Parameters.AddWithValue("searchstr", TextBox1.Text);
         * da.SelectCommand.CommandText = "SELECT REMOVE_REPEATS((SELECT idmain,PLAIN FROM mardganiidx where match(@searchstr) limit 0,10000), idmain, 0, 10000)";
         * watch.Start();
         * int i = da.Fill(DS, "pins");
         * watch.Stop();
         * SRCount += i;
         * string pins = "(";
         * foreach (DataRow r in DS.Tables["pins"].Rows)
         * {
         *   pins += r["IDMAIN"].ToString() + ",";
         * }*/
        DataSet DS = new DataSet();
        ISolrOperations <MARDGANIRECORD> solr = ServiceLocator.Current.GetInstance <ISolrOperations <MARDGANIRECORD> >();

        var q = new QueryOptions();

        q.Rows = 500;


        SolrQueryResults <MARDGANIRECORD> powerArticles = solr.Query(new SolrQuery(TextBox1.Text), q);
        string pins = "(";
        int    i    = powerArticles.Count;

        SRCount += i;
        foreach (MARDGANIRECORD article in powerArticles)
        {
            //Console.WriteLine(string.Format("{0}: {1}", article.ID, article.PLAIN));
            //Response.Write(string.Format("{0}: {1}", article.ID, article.PLAIN));
            pins += article.IDMAIN + ",";
        }

        pins = pins.Remove(pins.Length - 1) + ")";
        if (pins == ")")
        {
            pins = "(null)";
        }
        SqlDataAdapter msda = new SqlDataAdapter();

        msda.SelectCommand = new SqlCommand();
        var mscs = ConfigurationManager.ConnectionStrings["msConnectionString"].ConnectionString;

        msda.SelectCommand.Connection = new SqlConnection(mscs);

        msda.SelectCommand.CommandText = "select 'not implemented' as LEVEL,avt.PLAIN as AVT,tit.PLAIN as TIT,mesto.PLAIN as MESTO,pub.PLAIN as IZD,god.PLAIN as GOD,'not implemented' as ELIB " +
                                         ",A.IDMAIN IDMAIN   " +
                                         " from MARDGANI..DATAEXT A  " +
                                         " left join MARDGANI..DATAEXT Savt on A.IDMAIN = Savt.IDMAIN and Savt.MNFIELD = 700 and Savt.MSFIELD = '$a' " +
                                         " left join MARDGANI..DATAEXTPLAIN avt on avt.IDDATAEXT = Savt.ID " +
                                         " left join MARDGANI..DATAEXT Smesto on A.IDMAIN = Smesto.IDMAIN and Smesto.MNFIELD = 210 and Smesto.MSFIELD = '$a' " +
                                         " left join MARDGANI..DATAEXTPLAIN mesto on mesto.IDDATAEXT = Smesto.ID " +
                                         " left join MARDGANI..DATAEXT Spub on A.IDMAIN = Spub.IDMAIN and Spub.MNFIELD = 210 and Spub.MSFIELD = '$c' " +
                                         " left join MARDGANI..DATAEXTPLAIN pub on pub.IDDATAEXT = Spub.ID " +
                                         " left join MARDGANI..DATAEXT Sgod on A.IDMAIN = Sgod.IDMAIN and Sgod.MNFIELD = 2100 and Sgod.MSFIELD = '$d' " +
                                         " left join MARDGANI..DATAEXTPLAIN god on god.IDDATAEXT = Sgod.ID " +
                                         " left join MARDGANI..DATAEXTPLAIN tit on tit.IDDATAEXT = A.ID " +
                                         " where A.MNFIELD = 200 and A.MSFIELD = '$a' and A.IDMAIN in " + pins;
        int j = msda.Fill(DS, "t");

        gvMARDGANI.DataSource = DS.Tables["t"];

        ((BoundField)gvMARDGANI.Columns[0]).DataField = "LEVEL";
        ((BoundField)gvMARDGANI.Columns[1]).DataField = "AVT";
        ((BoundField)gvMARDGANI.Columns[3]).DataField = "MESTO";
        ((BoundField)gvMARDGANI.Columns[4]).DataField = "IZD";
        ((BoundField)gvMARDGANI.Columns[5]).DataField = "GOD";
        ((BoundField)gvMARDGANI.Columns[6]).DataField = "ELIB";

        //((TemplateField)gvBJVVV.Columns[2]).DataField = "TIT";

        gvMARDGANI.DataBind();
        if (gvMARDGANI.Rows.Count == 0)
        {
            lbMARDGANI.Text   = "Результаты поиска в базе фонда Марджани. Найдено: " + i.ToString() + ".";
            pMARDGANI.Visible = false;
        }
        else
        {
            lbMARDGANI.Text   = "Результаты поиска в базе фонда Марджани. Найдено: " + i.ToString() + "...";
            pMARDGANI.Visible = true;
        }
    }
Пример #29
0
    private void LoadDataBJVVV()
    {
        bjvvv_colapsediv.Visible  = true;
        MainSearchResults.Visible = true;

        if (TextBox1.Text == "")
        {
            CollapsiblePanelExtender1.TextLabelID = "Ничего не найдено";
            return;
        }

        /*MySqlDataAdapter da = new MySqlDataAdapter();
         * DataSet DS = new DataSet();
         * da.SelectCommand = new MySqlCommand();
         * var cs = ConfigurationManager.ConnectionStrings["SphinxConnectionString"].ConnectionString;
         * da.SelectCommand.Connection =  new MySqlConnection(cs);
         * da.SelectCommand.Parameters.AddWithValue("searchstr", TextBox1.Text);
         * da.SelectCommand.CommandText = "SELECT REMOVE_REPEATS((SELECT idmain,PLAIN FROM bjvvvidx where match(@searchstr) limit 0,10000), idmain, 0, 10000)";
         * watch.Start();
         * int i = da.Fill(DS, "pins");
         * watch.Stop();
         * SRCount += i;
         * string pins = "(";
         * foreach (DataRow r in DS.Tables["pins"].Rows)
         * {
         *  pins += r["IDMAIN"].ToString() +",";
         * }
         * pins = pins.Remove(pins.Length - 1) + ")";
         * if (pins == ")") pins = "(null)";
         */
        //это получить из сфинкса.

        DataSet DS = new DataSet();

        //ISolrOperations<BJVVVRECORD> solr = ServiceLocator.Current.GetInstance<ISolrOperations<BJVVVRECORD>>();
        //SolrQueryResults<BJVVVRECORD> results = solr.Query(new SolrQuery("pushkin"));
        //foreach (BJVVVRECORD result in results)
        //{
        //    Response.Write(result.PLAIN);
        //}


        //ScriptManager.RegisterStartupScript(this, this.GetType(), "iiii", "alert( 1 );", true);

        ISolrOperations <BJVVVRECORD> solr = ServiceLocator.Current.GetInstance <ISolrOperations <BJVVVRECORD> >();
        var q = new QueryOptions();

        q.Rows = 500;
        SolrQueryResults <BJVVVRECORD> powerArticles = solr.Query(new SolrQuery(TextBox1.Text), q);
        string pins = "(";
        int    i    = powerArticles.Count;

        SRCount += i;
        foreach (BJVVVRECORD article in powerArticles)
        {
            //Console.WriteLine(string.Format("{0}: {1}", article.ID, article.PLAIN));
            //Response.Write(string.Format("{0}: {1}", article.ID, article.PLAIN));
            pins += article.IDMAIN + ",";
        }

        pins = pins.Remove(pins.Length - 1) + ")";
        if (pins == ")")
        {
            pins = "(null)";
        }


        //Startup.Init<SOLRPOST.PostData.SolrSearchResult>("http://localhost:8983/solr");
        SqlDataAdapter msda = new SqlDataAdapter();

        msda.SelectCommand = new SqlCommand();
        var mscs = ConfigurationManager.ConnectionStrings["msConnectionString"].ConnectionString;

        msda.SelectCommand.Connection = new SqlConnection(mscs);

        msda.SelectCommand.CommandText = "select 'not implemented' as LEVEL,avt.PLAIN as AVT,tit.PLAIN as TIT,mesto.PLAIN as MESTO,pub.PLAIN as IZD,god.PLAIN as GOD,'not implemented' as ELIB " +
                                         ",A.IDMAIN IDMAIN   " +
                                         " from BJVVV..DATAEXT A  " +
                                         " left join BJVVV..DATAEXT Savt on A.IDMAIN = Savt.IDMAIN and Savt.MNFIELD = 700 and Savt.MSFIELD = '$a' " +
                                         " left join BJVVV..DATAEXTPLAIN avt on avt.IDDATAEXT = Savt.ID " +
                                         " left join BJVVV..DATAEXT Smesto on A.IDMAIN = Smesto.IDMAIN and Smesto.MNFIELD = 210 and Smesto.MSFIELD = '$a' " +
                                         " left join BJVVV..DATAEXTPLAIN mesto on mesto.IDDATAEXT = Smesto.ID " +
                                         " left join BJVVV..DATAEXT Spub on A.IDMAIN = Spub.IDMAIN and Spub.MNFIELD = 210 and Spub.MSFIELD = '$c' " +
                                         " left join BJVVV..DATAEXTPLAIN pub on pub.IDDATAEXT = Spub.ID " +
                                         " left join BJVVV..DATAEXT Sgod on A.IDMAIN = Sgod.IDMAIN and Sgod.MNFIELD = 2100 and Sgod.MSFIELD = '$d' " +
                                         " left join BJVVV..DATAEXTPLAIN god on god.IDDATAEXT = Sgod.ID " +
                                         " left join BJVVV..DATAEXTPLAIN tit on tit.IDDATAEXT = A.ID " +
                                         " where A.MNFIELD = 200 and A.MSFIELD = '$a' and A.IDMAIN in " + pins;
        int j = msda.Fill(DS, "t");

        //ScriptManager.RegisterStartupScript(this, this.GetType(), "iiii", "alert("+j+");", true);

        gvBJVVV.DataSource = DS.Tables["t"];
        ClientScript.RegisterStartupScript(this.GetType(), "alrt", "console.log(3);");
        ((BoundField)gvBJVVV.Columns[0]).DataField = "LEVEL";
        ((BoundField)gvBJVVV.Columns[1]).DataField = "AVT";
        ((BoundField)gvBJVVV.Columns[3]).DataField = "MESTO";
        ((BoundField)gvBJVVV.Columns[4]).DataField = "IZD";
        ((BoundField)gvBJVVV.Columns[5]).DataField = "GOD";
        ((BoundField)gvBJVVV.Columns[6]).DataField = "ELIB";

        //((TemplateField)gvBJVVV.Columns[2]).DataField = "TIT";

        gvBJVVV.DataBind();
        if (gvBJVVV.Rows.Count == 0)
        {
            lbBJVVV.Text   = "Результаты поиска в базе основного фонда. Найдено: " + i.ToString() + ".";
            pBJVVV.Visible = false;
        }
        else
        {
            lbBJVVV.Text   = "Результаты поиска в базе основного фонда. Найдено: " + i.ToString() + "...";
            pBJVVV.Visible = true;
        }
    }
Пример #30
0
    private void LoadDataBRIT_SOVET()
    {
        britsovet_colapsediv.Visible = true;

        if (TextBox1.Text == "")
        {
            CollapsiblePanelExtender6.TextLabelID = "Ничего не найдено";
            pBRIT_SOVET.Visible = false;
            return;
        }

        DataSet DS = new DataSet();
        ISolrOperations <BRIT_SOVETRECORD> solr = ServiceLocator.Current.GetInstance <ISolrOperations <BRIT_SOVETRECORD> >();

        var q = new QueryOptions();

        q.Rows = 500;


        SolrQueryResults <BRIT_SOVETRECORD> powerArticles = solr.Query(new SolrQuery(TextBox1.Text), q);
        string pins = "(";
        int    i    = powerArticles.Count;

        SRCount += i;
        foreach (BRIT_SOVETRECORD article in powerArticles)
        {
            //Console.WriteLine(string.Format("{0}: {1}", article.ID, article.PLAIN));
            //Response.Write(string.Format("{0}: {1}", article.ID, article.PLAIN));
            pins += article.IDMAIN + ",";
        }

        pins = pins.Remove(pins.Length - 1) + ")";
        if (pins == ")")
        {
            pins = "(null)";
        }
        SqlDataAdapter msda = new SqlDataAdapter();

        msda.SelectCommand = new SqlCommand();
        var mscs = ConfigurationManager.ConnectionStrings["msConnectionString"].ConnectionString;

        msda.SelectCommand.Connection = new SqlConnection(mscs);

        msda.SelectCommand.CommandText = "select 'not implemented' as LEVEL,avt.PLAIN as AVT,tit.PLAIN as TIT,mesto.PLAIN as MESTO,pub.PLAIN as IZD,god.PLAIN as GOD,'not implemented' as ELIB " +
                                         ",A.IDMAIN IDMAIN   " +
                                         " from BRIT_SOVET..DATAEXT A  " +
                                         " left join BRIT_SOVET..DATAEXT Savt on A.IDMAIN = Savt.IDMAIN and Savt.MNFIELD = 700 and Savt.MSFIELD = '$a' " +
                                         " left join BRIT_SOVET..DATAEXTPLAIN avt on avt.IDDATAEXT = Savt.ID " +
                                         " left join BRIT_SOVET..DATAEXT Smesto on A.IDMAIN = Smesto.IDMAIN and Smesto.MNFIELD = 210 and Smesto.MSFIELD = '$a' " +
                                         " left join BRIT_SOVET..DATAEXTPLAIN mesto on mesto.IDDATAEXT = Smesto.ID " +
                                         " left join BRIT_SOVET..DATAEXT Spub on A.IDMAIN = Spub.IDMAIN and Spub.MNFIELD = 210 and Spub.MSFIELD = '$c' " +
                                         " left join BRIT_SOVET..DATAEXTPLAIN pub on pub.IDDATAEXT = Spub.ID " +
                                         " left join BRIT_SOVET..DATAEXT Sgod on A.IDMAIN = Sgod.IDMAIN and Sgod.MNFIELD = 2100 and Sgod.MSFIELD = '$d' " +
                                         " left join BRIT_SOVET..DATAEXTPLAIN god on god.IDDATAEXT = Sgod.ID " +
                                         " left join BRIT_SOVET..DATAEXTPLAIN tit on tit.IDDATAEXT = A.ID " +
                                         " where A.MNFIELD = 200 and A.MSFIELD = '$a' and A.IDMAIN in " + pins;
        int j = msda.Fill(DS, "t");

        gvBRIT_SOVET.DataSource = DS.Tables["t"];

        ((BoundField)gvBRIT_SOVET.Columns[0]).DataField = "LEVEL";
        ((BoundField)gvBRIT_SOVET.Columns[1]).DataField = "AVT";
        ((BoundField)gvBRIT_SOVET.Columns[3]).DataField = "MESTO";
        ((BoundField)gvBRIT_SOVET.Columns[4]).DataField = "IZD";
        ((BoundField)gvBRIT_SOVET.Columns[5]).DataField = "GOD";
        ((BoundField)gvBRIT_SOVET.Columns[6]).DataField = "ELIB";

        //((TemplateField)gvBJVVV.Columns[2]).DataField = "TIT";

        gvBRIT_SOVET.DataBind();
        if (gvBRIT_SOVET.Rows.Count == 0)
        {
            lbBRIT_SOVET.Text   = "Результаты поиска в базе фонда Британского Совета. Найдено: " + i.ToString() + ".";
            pBRIT_SOVET.Visible = false;
        }
        else
        {
            lbBRIT_SOVET.Text   = "Результаты поиска в базе фонда Британского Совета. Найдено: " + i.ToString() + "...";
            pBRIT_SOVET.Visible = true;
        }
    }