Windows 7:搜索索引卡住

Ric*_*ket 14 windows-7 windows-search

当我打开索引选项时,它说:

4,317 项已编入索引 正在编入索引。在此期间,搜索结果可能不完整。

但它停留在 4,317 点;没有更多的项目被编入索引。最糟糕的是,SearchIndexer.exe 占用了 100% 的 CPU(嗯,50%,但我有一个双核 CPU;它占用了它所能占用的所有处理能力)。虽然它不会导致硬盘驱动器活动。

我尝试单击“索引选项”窗口底部的“搜索和索引疑难解答”,但没有发现任何问题。

我还尝试了几个网站建议的修复注册表项;我将 HKLM\SOFTWARE\Microsoft\Windows Search SetupCompletedSuccessfully 更改为 0 并重新启动计算机,它显然已修复,因为它翻转回 1,但同样的问题继续发生。

它缩短了我的笔记本电脑的电池寿命并使其变得非常热,因此我的风扇一直在运转。我不得不禁用 Windows 搜索服务。我怎样才能解决这个问题?我需要完全重新格式化我的计算机吗?


更新:
我试过重建几次。我必须索引的位置没有什么异常,而且我没有任何正在进行的下载或类似的事情。我看不出它停止的任何原因,而且我注意到进行系统还原为时已晚。在这一点上,我希望有人会提供一些可以解决问题的秘密答案,从而获得赏金。


另一个更新:
我尝试再次启动该服务,只是为了让它再次尝试。一开始似乎没问题(索引选项显示它由于用户活动而以降低的速度运行,并且文件数量正在增加)。过了一会儿,我检查了一下,服务已经停止了。事件查看器显示了一些这样的错误:

Log Name:      Application
Source:        Application Error
Date:          2/1/2010 7:34:23 PM
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      ricky-win7
Description:
Faulting application name: SearchIndexer.exe, version: 7.0.7600.16385, time stamp: 0x4a5bcdd0
Faulting module name: NLSData0007.dll, version: 6.1.7600.16385, time stamp: 0x4a5bda88
Exception code: 0xc0000005
Fault offset: 0x002141ba
Faulting process id: 0x13a0
Faulting application start time: 0x01caa39f2a70ec02
Faulting application path: C:\Windows\system32\SearchIndexer.exe
Faulting module path: C:\Windows\System32\NLSData0007.dll
Report Id: b4f7a7ae-0f92-11df-87fc-e5d65d8794c2
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Level>2</Level>
    <Task>100</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2010-02-02T00:34:23.000000000Z" />
    <EventRecordID>10689</EventRecordID>
    <Channel>Application</Channel>
    <Computer>ricky-win7</Computer>
    <Security />
  </System>
  <EventData>
    <Data>SearchIndexer.exe</Data>
    <Data>7.0.7600.16385</Data>
    <Data>4a5bcdd0</Data>
    <Data>NLSData0007.dll</Data>
    <Data>6.1.7600.16385</Data>
    <Data>4a5bda88</Data>
    <Data>c0000005</Data>
    <Data>002141ba</Data>
    <Data>13a0</Data>
    <Data>01caa39f2a70ec02</Data>
    <Data>C:\Windows\system32\SearchIndexer.exe</Data>
    <Data>C:\Windows\System32\NLSData0007.dll</Data>
    <Data>b4f7a7ae-0f92-11df-87fc-e5d65d8794c2</Data>
  </EventData>
</Event>
Run Code Online (Sandbox Code Playgroud)

如果您遇到相同的错误并通过 Google 搜索来到这里,请发表评论或添加详细说明您在这方面取得的进展的答案(如果有)...

Kno*_*nox 8

我认为当您说有一个损坏的文件导致它挂起时,您可能是正确的。尝试识别文件的粗略方法是转到文件选项卡并关闭一半文件类型的索引。让它运行。要么完成,要么停止。如果它停止,再关掉一半。如果它完成,您就知道错误的文件类型在另一半。这样做应该可以让您识别错误的文件类型。

此外,请查看已编入索引的文件列表。文件类型具有不同的搜索提供程序,例如 HTML、纯文本等。是否有任何看起来不合适的东西,可能是由某些第三方应用程序安装的?

另一个想法是让搜索挂在第 4,317 个文件上。然后运行命令提示符。类型

CD c:\
DIR /s /TA /O-D >c:\newt.txt
Run Code Online (Sandbox Code Playgroud)

这将创建一个名为 newt.txt 的文件,该文件将保存所有文件及其上次访问时间。已访问,表示已读,未修改。您必须使用文件编辑器搜索文件,但要查找最后修改的几个文件。如果我们走运,您的坏文件将在那里。祝你好运!