草庐IT

分区索引

全部标签

c# - 避免在重建期间删除当前的 Lucene.NET 索引

我是Lucene.NET的新手,但我正在使用anopensourcetool专为SitecoreCMS打造它使用Lucene.NET从CMS中索引大量内容。我昨天确认,当我重建索引时,当前的索引文件会被清除干净,因此依赖索引的任何东西在大约30-60秒(完整索引重建的时间)内都没有数据。是否有最佳实践或方法让Lucene.NET在新索引完全重建之前不覆盖当前索引文件?我基本上认为我希望它写入新的临时索引文件,并且在重建完成后让这些文件覆盖当前索引。我正在谈论的例子:建立新索引(~30秒)索引有大约500个文档使用代码访问索引中的数据并在网站上显示重建索引(~30秒)现在读取数据索引的任

c# - 在没有索引的集合上实现 INotifyCollectionChanged

在ASP.Net专门工作了几年之后,我现在才开始接触WPF。我目前遇到的问题是我有一个自定义集合类,我需要将其绑定(bind)到列表框。除了从集合中删除一个项目外,一切似乎都在工作。当我尝试时出现错误:“CollectionRemoveeventmustspecifyitemposition.”问题是这个集合不使用索引,所以我没有看到指定位置的方法,到目前为止谷歌还没有给我一个可行的解决方案……类被定义为实现ICollection和INotifyCollectionChanged.我的内部元素容器是Dictionary它使用项目的Name(string)值作为键。除了这两个接口(int

c# - 如何在起始索引处匹配正则表达式?

如何创建一个正则表达式,从开始搜索的地方开始匹配?换句话说:\A的等价物是什么,表示“在搜索开始时匹配,即使它不在主字符串的开头”?newRegex(@"\A\n").IsMatch("!\n",1);//Shouldbetrue,butisfalse 最佳答案 你要找的是\G:newRegex(@"\G\n").IsMatch("!\n",1);//It'stwue,it'stwue!实际上,这让我感到惊讶。我知道\G,但它通常被描述为匹配输入开头或最近成功匹配结尾的anchor,这两者均不适用于此处。如果这是.NET的创新,他们

oracle分区表创建(自动按年、月、日分区)实战

前言:工作中有一张表一年会增长100多万的数据,量虽然不大,可是表字段多,所以一年下来也会达到1G,而且只增不改,故考虑使用分区表来提高查询性能,提高维护性。  oracle11g支持自动分区,不过得在创建表时就设置好分区。  如果已经存在的表需要改分区表,就需要将当前表rename后,再创建新表,然后复制数据到新表,然后删除旧表就可以了。一、为什么要分区(Partition)  1、一般一张表超过2G的大小,ORACLE是推荐使用分区表的。  2、这张表主要是查询,而且可以按分区查询,只会修改当前最新分区的数据,对以前的不怎么做删除和修改。  3、数据量大时查询慢。  4、便于维护,可扩展:

c# - 当 .NET 反射器显示它已在 .NET Framework 中完成时,为什么我不能将属性或索引器作为 ref 参数传递?

好的,我将从.NET反射器中剪切和粘贴以演示我正在尝试做的事情:publicoverridevoidUpdateUser(MembershipUseruser){//Abunchofirrelevantcode...SecUtility.CheckParameter(refuser.UserName,true,true,true,0x100,"UserName");//Moreirrelevantcode...}这行代码直接来自.NETFramework中的System.Web.Security.SqlMembershipProvider.UpdateUser(System.Web.d

c# - 根据 item.key 获取字典项的索引

如何根据元素键找到字典元素的索引?我正在使用以下代码来浏览字典:foreach(varentryinfreq){varword=entry.Key;varwordFreq=entry.Value;inttermIndex=??????;}有人能帮忙吗? 最佳答案 Dictionary中没有索引的概念。您不能依赖Dictionary中项目的任何顺序。OrderedDictionary可能是替代方案。varfreq=newOrderedDictionary();//...foreach(varentryinfreq){varword=e

c# - 如何在组合框中将第一个索引设置为空白

我有一个与数据源绑定(bind)的组合框。在此组合框中,我必须在索引0处添加一个空白字段。我编写了以下代码来获取记录。publicListGetSubType(inttyp){using(vartr=session.BeginTransaction()){try{ListlstSubTypes=(fromsbtinsession.Query()wheresbt.FType==typselectsbt).ToList();tr.Commit();returnlstSubTypes;}catch(Exceptionex){CusExceptioncex=newCusException(ex

c# - PropertyInfo.GetValue() - 如何在 C# 中使用反射索引通用参数?

这个(缩短的)代码..for(inti=0;i..抛出“TargetParameterCountException:参数计数不匹配”异常。'propertyInfo'的基础类型是一些T的集合。'count'是集合中的项目数。我需要遍历集合并对obj执行操作。感谢您的建议。 最佳答案 反射一次只在一个层面上起作用。您正在尝试对属性进行索引,这是错误的。相反,读取属性的值,以及您返回的对象,即您需要索引的对象。这是一个例子:usingSystem;usingSystem.Collections.Generic;usingSystem.R

c# - 如何在 int 列表中找到满足某些条件的项目的索引?

我有一个包含项目{10、11、23、34、56、43}的int列表,我想找出所有大于23的项目的索引。这些值可以是任何顺序,所以我这样做不想对它们进行排序。Listmylist=newList{10,11,23,34,56,43};我对满足条件的所有项目的索引感兴趣,而不仅仅是满足条件的第一个项目。所以这行代码对我不起作用。intindex=mylist.FindIndex(x=>x>23); 最佳答案 varindexes=mylist.Select((v,i)=>new{v,i}).Where(x=>x.v>23).Select

c# - 具有多个索引的列表

给定一个通用列表,我需要某种索引(在数据库意义上),以允许我快速检索。这个索引的键不是唯一的,所以我不能使用字典。这是我的想法:给定一个类Foo{P1,P2,P3}可能有这样的数据{"aaa",111,"yes"}{"aaa",112,"no"}{"bbb",111,"no"}{"bbb",220,"yes"}{"bbb",220,"no"}{"ccc",300,"yes"}我需要快速访问P1为“bbb”(第3、4和5)的所有记录或P2为111(第1和3)的所有记录。我可以使用排序列表,但如果我需要不止一种排序/索引方式,我最终会得到重复的列表。.NET框架中是否有内置的东西,或者可能