- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 wiki 开始返回不完整的搜索结果。
用户将搜索他们知道是文章一部分的术语,但该文章不会在结果中返回。
他们可以浏览文章并看到该页面确实包含搜索词。
这种情况经常发生,所以我一直在努力寻找解决方案。我没能找到有这个问题的人。搜索索引目前认为 wiki 中有 300 页,但实际上有 1193 页。
我按照 Screwturn 站点上的说明重建索引,包括调整 web.config 中的超时。我最终尝试了几次重建,尝试之间出现了大约 70 个错误。我看到了超时错误和主键违规。重建不会持续运行很长时间,通常少于 10 分钟。
有没有人成功重建索引?
有没有人见过同样类型的错误并能够解决它们?
有人知道重建完成后我会看到什么吗?我在想我会看到一个新的搜索索引,它引用了 1193 个页面,而不是 300 个页面。这是正确的吗?
如有任何帮助,我们将不胜感激。
以下是我看到的错误消息的三个示例。
System.Data.SqlClient.SqlException: Violation of UNIQUE KEY constraint 'UQ_IndexDocument'. Cannot insert duplicate key in object 'dbo.IndexDocument'. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at ScrewTurn.Wiki.Plugins.SqlCommon.SqlClassBase.ExecuteNonQuery(DbCommand command, Boolean close, Boolean logError)
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at ScrewTurn.Wiki.Plugins.SqlCommon.SqlClassBase.ExecuteNonQuery(DbCommand command, Boolean close, Boolean logError)
System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_IndexDocument'. Cannot insert duplicate key in object 'dbo.IndexDocument'. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at ScrewTurn.Wiki.Plugins.SqlCommon.SqlClassBase.ExecuteNonQuery(DbCommand command, Boolean close, Boolean logError)
(7 月 30 日更新)我尝试删除 IndexDocument 记录并再次运行重建,但结果相同。该索引的大小没有增加。我查看了 IndexDocument 表上的记录,它们停在其中一个命名空间的 M 篇文章中。这解释了为什么搜索以 M 之后开头的词失败。此外,只有两个 namespace 被索引。我在重建索引时查看了管理主页,等待轮子停止转动。似乎什么都没有改变。我检查了系统日志,没有看到任何错误。我从管理主页重新启动应用程序后,超时错误再次出现在日志中。这给我留下的问题多于答案。
索引重建成功或者索引停止重建的标志是什么?我认为这是在单击重建链接后运行的纺车。
我研究了超时错误,所有内容都指向一个太短的超时值,论坛帖子说更新 .NET 代码中的超时值,或调整服务器上的查询等待属性。有没有人在这方面取得成功?您是怎么做的?
有谁知道 wiki 正在运行什么脚本来重建索引?是否可以从 SQL 服务器手动运行它?
更新:我不得不放弃寻找答案。我确实了解到,您可以强制索引一次重建一篇文章,只需更新 IndexDocument 表中未列出的粒子即可。虽然这确实有效,但当从您所在的命名空间查看 AllPages 页面时,它会导致一些意外行为。AllPages 页面通常按字母顺序列出所有文章(以及每个部分的字母)。执行此强制更新后,AllPages 页面将按字母顺序显示页面,但各部分的顺序将类似于“#、A、B”。下一批页面将是“B、C、K”等。不太理想,但搜索确实再次起作用。对于其他有问题的人,仅供引用,有一种解决方法。这将是我的最终解决方案,因为 wiki 将被淘汰并移至更强大(和支持!)的知识库。感谢 Dreamwalker 和 Doug。
最佳答案
检查没有页面内容的页面并删除这些页面 - 这修复了我的索引。
G SYSTEM Page OnTime-Tools created
G wkrzystek Page update requested for OnTime-Tools
E SQL Server Pages Storage Provider+SYSTEM System.Data.SqlClient.SqlException: Transaction (Process ID 173) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
E SQL Server Pages Storage Provider+SYSTEM Page indexing error for OnTime-Tools (skipping page): System.NullReferenceException: Object reference not set to an instance of an object.
E SYSTEM http://websrv01/matrixwiki/Edit.aspx
System.Web thrown System.Web.HttpUnhandledException
E SYSTEM PageContent could not be retrieved for page OnTime-Tools - returning empty
我们遇到了同样的问题 - 我们的索引中只有 670 页中的 510 页,并且内容在“O”之后停止。我找不到任何其他解决方案,所以我开始查看 SQL 日志表。我注意到添加了一个页面,但在尝试存储页面内容时出现 SQL 死锁。在那组错误之后,每次修改页面并且尝试更新索引时,它都会生成“无法检索 PageContent”消息,并且索引会停在那里。
关于search - 重建 Screwturn wiki 搜索索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16443046/
如果我使用 alter index x rebuild 重建不可用的索引,是否会重新评估之前使用该索引的任何 SQL 的执行计划? 我知道在我使用的数据库版本 - Oracle 10.2.0.4.0
我正在研究 3d 重建。现在当我考虑一对图像时。我有一组对应点。我有我的相机详细信息。例如我有焦点细节,旋转和平移矩阵(4 * 4)。我想在 3D(三角剖分)中投影我的点。因此,据我所知,因子代数非常
从教程中:https://programtalk.com/vs2/?source=python/8176/opencv-python-blueprints/chapter4/scene3D.py 我不
我需要您的帮助和建议。这个问题包括以下几项:某房间的照片,该房间站在严格固定位置的房间内(一个房间围绕轴线旋转)。如何将所有这些图片组合在一起,从而产生一种效果,就像我们用眼睛看到的一样?从一点开始就
嘿那里,以下问题:我在工作中使用一个相当奇怪的 Linux 发行版(Centos 5),它似乎有一个较旧的内核(或者至少在内核中存在一些差异),并且您不能简单地更新它。我需要安装的程序需要一个函数 c
我读了一些关于受限玻尔兹曼机的文章。这些机器的重建能力经过了测试。我了解训练是如何进行的,但不了解重建是如何完成的。有人可以给我一些提示吗? 最佳答案 杰夫·辛顿 (Geoff Hinton) 的演讲
如果轻量级迁移失败,我将尝试重建核心数据数据堆栈,并将用户送回登录屏幕。我正在通过将一对多关系更改为一对一关系来对此进行测试。 起初,我在删除新的 persistentStoreCoordinator
以下所列示例中中 `table_name` 表示数据表名,`index_name` 表示索引名,column list 表示字段列表(如:`id`,`order_id`)。 1、创建索引 索引的
当您根据 ListView.builder 和 ListView.separated valueKey = key; return _messages
切换底部导航页面后,我有一个非常烦人的谷歌地图 flutter 重建问题。我已经坚持了最后一次缩放和相机位置,但是每次我进入 map 页面时,小部件都会自行重建。如何预防? 最佳答案 采用 Autom
我是 Python 的新手。我在重建一个错误的 Dataframe 时遇到了麻烦。我的数据框如下所示: df = pd.DataFrame({'col1': ['id 1', 'id 2', 'tes
我正在尝试从 2 个图像中实现 3d 重建。我遵循的步骤是, 1. Found corresponding points between 2 images using SURF. 2. Impleme
// Start with this JSON var initialJson = { "rows": [{ "ID": 123, "Data": 430910, "Ver
在有状态的小部件中,我有一个导航部分,用户可以在其中选择父项,并在子项下方显示。 当我选择父级也可以重建子部件时,但是当我导航抛出父项而不选择一个子部件时,父级也可以重建(这是正常的),但是子部件也可
我有一个网络摄像头,它可以围绕人的头部以给定的角度步长旋转,并为每一步获取一张图片。 我正在寻找一个免费的开源库,该库从获取的图像集开始,使我能够生成代表人头部的 3D 表面,或者至少是定义明确的 3
我想从一行中读取一个字符串,然后将其放入一个变量中,该变量随后用作文件名。该字符串位于 .csv 文件中的第二行末尾。由于不必要的标题,需要删除第一行。还有‘;’旧 .csv 文件中使用的内容需要替换
我正在使用file-embed如此封装: import qualified Data.ByteString as B import qualified Data.ByteString.Internal
我的 makefile 总是重建,不明白为什么.. 这里是: SRC = $(DIR)/my_getnbr.c \ $(DIR)/my_isneg.c \ $(DI
我有一个附带编辑器的 Eclipse 插件。 我添加了更改语法突出显示颜色的首选项,但这些更改仅在我手动重新启动编辑器后才适用。 我通过一个 DefaultDamagerRepairer 实现了语法高
我有一段 php 可以输出 div(取决于数组中有多少个)并为该 div 分配一个 id(即 div_1、div_2)等 我还设置了一个隐藏字段,其中包含输出了多少个 div 的计数(divcount
我是一名优秀的程序员,十分优秀!