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() })); } }
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); }
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); }
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); }
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()); }
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)); }
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); }
// 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); }
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)); } }
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); }
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); }
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(); } }
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); } }
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); }
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)); }
/// <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); }
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)); } }
/// <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); }
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()); }
//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); }
public ActionResult GetAllProducts() { var products = solr.Query(new SolrQueryByRange <decimal>("price", 10m, 100m)).ToList(); return(Json(new { products }, JsonRequestBehavior.AllowGet)); }
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))); }
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; } }
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; } }
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; } }