Windows 7: Lập chỉ mục tìm kiếm bị kẹt


13

Khi tôi mở Tùy chọn lập chỉ mục, nó báo:

4.317 mục được lập chỉ mục Đang tiến hành. Kết quả tìm kiếm có thể không đầy đủ trong thời gian này.

Nó bị kẹt ở 4.317 mặc dù; không có mục nào được lập chỉ mục Điều tồi tệ nhất là SearchIndexer.exe đang chiếm 100% CPU (tốt, 50%, nhưng tôi có CPU lõi kép; nó chiếm hết sức mạnh xử lý có thể). Nó không gây ra hoạt động ổ cứng mặc dù.

Tôi đã thử nhấp vào "Khắc phục sự cố tìm kiếm và lập chỉ mục" ở cuối cửa sổ Tùy chọn lập chỉ mục, nhưng không thể tìm thấy bất kỳ vấn đề nào.

Tôi cũng đã thử khóa đăng ký sửa chữa mà một số trang web đề xuất; Tôi thay đổi HKLM \ SOFTWARE \ Microsoft \ Windows Search SetupCompleted Thành công thành 0 và khởi động lại máy tính, và nó dường như đã được sửa chữa vì nó bị lật ngược về 1, nhưng vấn đề tương tự vẫn tiếp tục xảy ra.

Nó làm giảm tuổi thọ pin của máy tính xách tay của tôi và làm cho nó thực sự nóng để người hâm mộ của tôi luôn luôn chạy. Tôi đã phải vô hiệu hóa dịch vụ Windows Search. Làm thế nào tôi có thể sửa lỗi này? Tôi có cần chỉ định dạng lại máy tính của mình không?


Cập nhật:
Tôi đã thử xây dựng lại một vài lần. Không có gì bất thường về các vị trí tôi phải lập chỉ mục và tôi không có bất kỳ tải xuống nào đang diễn ra hoặc bất cứ điều gì tương tự. Tôi không thấy bất kỳ lý do nào khiến nó dừng lại và tôi nhận thấy quá muộn để thực hiện khôi phục hệ thống. Tại thời điểm này, tôi hy vọng ai đó sẽ đưa ra một số câu trả lời bí mật sẽ khắc phục vấn đề, do đó tiền thưởng.


Một cập nhật khác:
Tôi đã thử bắt đầu lại dịch vụ, chỉ để cho nó thử lại lần nữa. Ban đầu có vẻ ổn (Tùy chọn lập chỉ mục cho thấy nó hoạt động ở tốc độ giảm do hoạt động của người dùng và số lượng tệp đang tăng lên). Một lúc sau tôi kiểm tra, và dịch vụ đã dừng lại. Trình xem sự kiện đã tiết lộ một số lỗi như thế này:

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>

Nếu bạn gặp lỗi tương tự và đến đây từ một tìm kiếm Google, vui lòng bình luận hoặc thêm câu trả lời chi tiết về tiến trình của bạn về vấn đề này, nếu có ...


4
Nhân tiện ... Có ai biết một cách để tìm ra món đồ thứ 4.317 huyền diệu này là gì không? Tôi rất muốn biết nếu chỉ có một tệp không đúng định dạng gây nhiễu cho toàn bộ hệ thống.
Ricket

Bạn có thể mở tệp Windows.edb bằng cách sử dụng một số nơi được gọi là ESEDatabaseView tại đây: nirsoft.net/utils/ese_database_view.html
user2924019

Câu trả lời:


8

Tôi nghĩ bạn có thể đúng khi bạn nói rằng có một tệp bị hỏng khiến nó bị treo. Một cách thô sơ để cố gắng xác định tệp là đi vào tab tệp và tắt một nửa các loại tệp khỏi bị lập chỉ mục. Hãy để nó chạy. Hoặc nó hoàn thành hoặc nó dừng lại. Nếu nó dừng lại, tắt một nửa một lần nữa. Nếu nó hoàn thành, bạn biết loại tệp xấu nằm trong nửa kia. Làm điều này sẽ cho phép bạn xác định loại tập tin xấu.

Ngoài ra, xem qua danh sách tập tin được lập chỉ mục. Các loại tệp có các nhà cung cấp tìm kiếm khác nhau, như HTML, văn bản thuần túy, v.v. Có cái nào nhìn không đúng chỗ, có thể đã được cài đặt bởi một số ứng dụng bên thứ ba không?

Một ý tưởng khác là để cho tìm kiếm treo trên tệp thứ 4.317. Sau đó chạy một dấu nhắc lệnh. Kiểu

CD c:\
DIR /s /TA /O-D >c:\newt.txt

Điều này sẽ tạo một tệp có tên newt.txt sẽ chứa tất cả các tệp và lần cuối chúng được truy cập. Truy cập, có nghĩa là đọc, không sửa đổi. Bạn sẽ phải tìm kiếm thông qua tệp bằng trình chỉnh sửa tệp nhưng tìm kiếm một số tệp cuối cùng đã được sửa đổi. Nếu chúng ta gặp may, tập tin xấu của bạn sẽ ở đó. Chúc may mắn!


Mẹo hay (ý tưởng thứ hai). Bộ chỉ mục có giữ một số loại nhật ký của các tệp được lập chỉ mục ở đâu đó không? Nó có thể cho chúng ta thấy tập tin thành công cuối cùng được lập chỉ mục và có thể nhận được manh mối theo cách này.
nhạc chuông

@m tone - Có thể lập chỉ mục một thư mục tại một thời điểm không? Nó sẽ thu hẹp tìm kiếm.
Nifle

@Nifle - vâng, nó cũng sẽ là một cuộc điều tra hợp lý để giảm số lượng thư mục được lập chỉ mục. Trong menu bắt đầu, nhập "lập chỉ mục" và nhấp vào tùy chọn lập chỉ mục. Bảng đó liệt kê các vị trí bạn đang lập chỉ mục.
Knox

@Knox +1 cho ý tưởng đầu tiên. Bạn đang đề xuất một tìm kiếm loại bỏ [nhị phân] . Và nếu bạn sửa đổi nó với sự hiểu biết của bạn về khả năng xảy ra sai sót, và hạn chế việc lập chỉ mục cho những lần đầu tiên, sau đó bạn có thể nhận được nhiều hơn O (log2 N) tăng tốc.
ElderDelp 16/03/18

4

Tôi tìm thấy thông tin này tại diễn đàn Technet

Nó dường như là một lỗi đã biết:

  1. PC có hai (hoặc nhiều) ổ đĩa hoặc phân vùng

  2. Hồ sơ người dùng và Windows được đặt trên ổ đĩa hoặc phân vùng đầu tiên (giả sử ký tự ổ C :)

  3. Ổ đĩa hoặc phân vùng thứ hai có nhiều không gian đĩa trống hơn ổ đĩa thứ nhất (giả sử ký tự ổ đĩa D :)

  4. Trình tự tác vụ làm mới OSD của ConfigMgr 2007 sử dụng USMT 4 với liên kết cứng được chạy trên PC Sau đó, tác vụ Chụp tệp và cài đặt người dùng "/" Ghi lại trạng thái người dùng "sẽ thành công, nhưng" Khôi phục trạng thái và cài đặt tệp người dùng " "Nhiệm vụ sẽ thất bại.

Nghị quyết

Để giải quyết vấn đề, biến OSDStateStorePath phải được thay đổi từ giá trị mặc định của nó. Khi sử dụng tích hợp MDT 2010 / MDT 2010 Update 1, biến phải được xác định lại sau khi nó được đặt bởi tập lệnh ztiuserstate.wsf trong tác vụ "Xác định người dùng cục bộ hoặc từ xa".

Để đảm bảo rằng Store Store được lưu vào cùng ổ đĩa / phân vùng nơi Windows được cài đặt và cấu hình người dùng được đặt, biến môi trường SystemDrive có thể được sử dụng như một phần của đường dẫn xác định biến OSDStateStorePath.

Nếu tích hợp MDT 2010 / MDT 2010 Update 1 không được sử dụng , tác vụ "Đặt biến chuỗi trình tự tác vụ" đặt biến OSDStateStorePath cần phải được sửa đổi:

  1. Trong bảng điều khiển AdminMgr 2007, điều hướng đến nút Computer Management-> Operating System Deployment-> Task Sequences.

  2. Nhấp chuột phải vào Chuỗi nhiệm vụ bị ảnh hưởng và chọn "Chỉnh sửa".

  3. Bấm vào Set Local State Locationnhiệm vụ. Đảm bảo rằng tác vụ là một Set Task Sequence Variabletác vụ đặt biến OSDStateStorePath.

Bên cạnh trường Value:văn bản, thay đổi nó từ %_SMSTSUserStatePath% thành%SystemDrive%\UserState

  1. Nhấp vào nút "OK" hoặc "Áp dụng" để lưu chuỗi nhiệm vụ. Nếu tác vụ "Đặt vị trí trạng thái cục bộ" không tồn tại, thì hãy tìm tác vụ "Đặt biến chuỗi trình tự tác vụ" để đặt biến OSDStateStorePath, sau đó thực hiện các thay đổi ở trên. Nếu sử dụng tích hợp MDT 2010 / MDT 2010 Update 1, thì một tác vụ "Đặt biến chuỗi trình tự nhiệm vụ" mới cần được thêm vào sau tác vụ "Xác định người dùng cục bộ hoặc từ xa" xác định lại biến OSDStateStorePath:

  2. Trong bảng điều khiển AdminMgr 2007, điều hướng đến nút Computer Management-> Operating System Deployment-> Task Sequences.

  3. Nhấp chuột phải vào Chuỗi nhiệm vụ bị ảnh hưởng và chọn "Chỉnh sửa".

  4. Nhấp vào tác vụ "Xác định người dùng cục bộ hoặc từ xa" và sau đó chuyển đến "Thêm" -> "Chung" -> "Đặt biến chuỗi trình tự tác vụ". Điều này sẽ tạo ra một tác vụ "Đặt biến chuỗi trình tự nhiệm vụ" sau tác vụ "Xác định người dùng cục bộ hoặc từ xa" nhưng trước tác vụ "Yêu cầu lưu trữ trạng thái".

  5. Trong "Đặt nhiệm vụ biến chuỗi trình tự nhiệm vụ" mới được tạo:

    • Bên cạnh các Name:hộp văn bản, nhập vào:Set Local State Location
    • Bên cạnh các Task Sequence Variable: hộp văn bản, nhập vào OSDStateStorePath
    • Bên cạnh Value:hộp văn bản, nhập vào:%SystemDrive%\StateStore
  6. Nhấp vào nút "OK" hoặc "Áp dụng" để lưu chuỗi nhiệm vụ.

Nếu trong Bước 3, tác vụ "Xác định LocalState cục bộ hoặc từ xa" không tồn tại hoặc đã được đổi tên, hãy tìm tác vụ "Chạy dòng lệnh" chạy tập lệnh ztiuserstate.wsf, sau đó làm theo các bước trên.


4

Trước tiên, hãy thử xây dựng lại chỉ mục của bạn. Ngoài ra, loại trừ khỏi việc lập chỉ mục bất kỳ thư mục có tải xuống tạm thời / chưa hoàn thành. Các tệp chưa hoàn thành theo định nghĩa bị hỏng và có thể treo quá trình. Bộ giải mã video / âm thanh cũng có thể bị treo nếu việc lập chỉ mục tìm kiếm siêu dữ liệu trong đó.

văn bản thay thế


Bạn có thể giải thích về nhận xét siêu dữ liệu? Nếu một cái gì đó, một nơi nào đó đang gây nhiễu điều này lên, có lẽ nó sẽ giúp tôi nghĩ về nó.
Ricket

Lập chỉ mục cố gắng để có được siêu dữ liệu bằng cách xem xét các tệp. Một số loại tệp, chẳng hạn như tệp phim AVI yêu cầu codec (hoặc bộ tải container, thường được gọi là codec) để mở các tệp này và nhận độ phân giải, độ dài, v.v. Bộ mã đó có thể bị treo nếu tệp bị hỏng. Điều đó nói rằng, tôi đã không gặp phải vấn đề cho đến nay trong Windows 7, nhưng trong XP nó đã từng là một vấn đề phổ biến.
nhạc chuông

4

Tìm kiếm của tôi bị kẹt do tệp Outlook.pst xấu. Tôi đã chạy tiện ích sửa chữa pst SCANPST.EXEđược tìm thấy trong cùng thư mục với tệp thực thi Outlook 2007 ( C:\Program Files (x86)\Microsoft Office\Office12trên máy Windows 7 x64 của tôi.)

nhập mô tả hình ảnh ở đây


1
Tệp có tên SCANPST.EXE
M. Dudley

2

Bạn đã xác minh rằng ổ cứng của bạn không chết?

Nhấp chuột phải vào ổ đĩa, mở hộp thoại Thuộc tính, chuyển đến tab Công cụ và thực hiện kiểm tra lỗi (với quét khu vực xấu).


vâng, ý tưởng rất tốt để đảm bảo những điều cơ bản đang hoạt động đúng. Cũng kiểm tra nhật ký sự kiện cho các lỗi hệ thống.
Knox

2

Một trong những câu hỏi được đặt ra ở đây là về cách xem liệu SearchIndexer.exe bị chặn, bị lỗi hoặc bị treo hoặc liệu vẫn còn tiến triển. Ngoài ra, thật tuyệt khi thấy tập tin nào hiện đang được lập chỉ mục.

Đây là một cách để tìm hiểu.

Microsoft không sẵn sàng cung cấp cho bạn các công cụ để xem điều này, các tệp nhật ký được tạo trong quá trình tìm kiếm, như MSS.log (sau đó được sao chép và thay đổi bằng tên khác, sau đó bị xóa) là các tệp nhị phân và không thể đọc được trừ khi có các công cụ đặc biệt.

Một cách khác tôi đã cố gắng tìm hiểu xem liệu nó có bị treo trên một tệp duy nhất hay không là để kích hoạt Trình theo dõi tiến trình của SysIternal . Tôi đặt bộ lọc như sau:

  • bao gồm quá trình SearchProtocolHost.exe(lưu ý: không SearchIndexer.exe ),
  • bao gồm loại sự kiện File System,
  • loại trừ bất cứ điều gì trên C:\WindowsC:\ProgramDatathư mục,
  • và / hoặc bao gồm các thư mục bạn đang thực sự lập chỉ mục,
  • tùy chọn đặt Hoạt động thành ReadFile.
  • nhấp vào Áp dụng hoặc OK và sau đó nhấp vào nút Chụp trên cùng bên trái.

Chế độ xem sự kiện kết quả cung cấp cho bạn tất cả các ReadFilehoạt động (và một số hoạt động khác) hiện đang được dịch vụ Microsoft Search Index đọc.

Nó phải là một danh sách dài các ReadFilehoạt động và các tệp hiện đang được lập chỉ mục nằm trong cột Đường dẫn. Cột Kết quả sẽ hiển thị SUCCESS(nếu không, có vấn đề của bạn) và cột Chi tiết sẽ liên tục hiển thị một phần bù khác (nếu không, đó là vòng lặp và đó lại là một gợi ý có thể cho nguyên nhân của vấn đề của bạn).


1
+1 @Able Liên kết cho Sys | ternals vẫn hoạt động! Đây là một cái khác sẽ cung cấp đầy đủ
SysIternals
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.