Solr 1.4 Enterprise Search Server建议对核心副本执行大型更新,然后将其交换为主核心.我遵循以下步骤:
我遇到的问题是,在步骤1中创建的核心中没有任何数据.如果我要对所有东西和厨房水槽做一个完整的索引,那就没问题了,但如果我只是想更新一个(大)文件的子集 - 那显然不会起作用.
(我可以合并核心,但我正在尝试做的部分是删除任何已删除的文档,而不试图列出它们.)
我错过了CREATE动作的标志吗?CoreAdmin的Solr Wiki页面在细节上有点稀疏.
solr-user上有人建议使用复制.要在这种情况下使用它(我的理解)需要以下步骤:
更简单的基于复制的设置是配置永远是主设备的永久PREP核心.MAIN核心(根据需要在尽可能多的服务器上)可以成为PREP核心的从属.可以根据需要快速或慢速地在PREP核心上进行索引.
我想出的另一个想法是这个(也涉及一个永久的PREP核心):
我有一个Web服务和一个客户端.参数和返回类型中使用的类位于两者共享的公共DLL中.但是,每当我更新Web引用时,visual studio都会生成具有相同名称和公共属性和方法的类的副本.然后解决方案将无法编译,因为客户端代码尝试使用公共DLL中的版本.我可以通过在每次更新Web引用时删除"重复"类来解决问题,并添加using语句以指向公共dll的命名空间.有没有办法永久解决这个问题?
更新:请参阅下面的评论.这是asmx Web服务的"功能".除了下列之一之外,没有其他方法:1)使用更现代的Web服务.2)不要使用通用DLL 3)每次更新Web引用时手动修复,如上面的原始问题所示.
我必须将一堆数据从一个数据库表复制到另一个数据库表中。我无法使用 SELECT ... INTO 因为其中一列是标识列。另外,我还需要对架构进行一些更改。我能够使用导出数据向导创建一个 SSIS 包,然后在 Visual Studio 2005 中对其进行编辑以进行所需的更改等。它肯定比 INSERT INTO 更快,但对我来说,将数据下载到另一台计算机只是为了再次上传回来似乎很愚蠢。(假设我是正确的,这就是 SSIS 包正在做的事情)。是否有相当于 BULK INSERT 的功能,可以直接在服务器上运行,允许保留标识值并从表中提取数据?(据我所知,BULK INSERT只能从文件中提取数据)
\n\n编辑:\n我确实了解 IDENTITY_INSERT,但由于涉及大量数据,INSERT INTO ... SELECT 有点慢。SSIS/BULK INSERT 将数据转储到表中,而不考虑索引和日志记录等,因此速度更快。(当然,一旦填充表就在表上创建聚集索引并不快,但它仍然比我第一次尝试的 INSERT INTO...SELECT 更快)
\n\n编辑 2:\n架构更改包括(但不限于)以下内容:\n1. 将一张表拆分为两张新表。将来每个表都会有自己的 IDENTITY 列,但对于迁移,我认为最简单的方法是使用原始表中的标识作为两个新表的标识。迁移完成后,其中一个表将与另一个表建立一对多关系。\n2. 将列从一个表移动到另一个表。\n3. 删除一些仅一对一交叉引用的交叉引用表。相反,引用将是两个表之一中的外键。\n4. 将使用默认值创建一些新列。\n5. 有些表\xe2\x80\x99根本没有改变,但由于“将其全部放入新的数据库”请求,我必须将它们复制过来。
\n有没有办法用"显式"属性标记Specflow测试?我知道可以通过使用特殊标签@ignore来标记"忽略"属性.