หากเจอปัญหาการค้นหา Email ใน Outlook ทุก Version (หาไม่เจอ, ผลลัพธ์ไม่ครบ, ไม่ Index ทุก *.pst, ไม่แสดง Email ใหม่ๆ) บทความนี้จะช่วยแก้ปัญหา Outlook Search (ใช้ได้กับ Outlook 2021/2019/2016/2013 และ Outlook for Microsoft 365)
ตรวจสอบ Search Indexing Status ใน Outlook
Outlook Search ขับเคลื่อนด้วย Windows Indexing Service ต้อง Scan Mailbox และ PST Files ที่เชื่อมต่อ สร้าง Index ของ Outlook Items ทั้งหมด ขั้นแรก ตรวจสอบ Outlook Index Status
ไปที่แท็บ Search เลือก Indexing Status ใน Search Tools

หาก Indexing ปกติ จะเห็น:
Outlook has finished indexing all of your items.
0 items remaining to be indexed.

หากมีปัญหา Search Status จะต่างออกไป:
Outlook is currently indexing your items.
23817 items remaining to be indexed

Outlook Search Index Rebuild เมื่อเพิ่ม Mailbox/ PST ใหม่, ย้าย Email ระหว่างโฟลเดอร์ ฯลฯ หากทำการเปลี่ยนแปลงใหม่ๆ (3-4 ชั่วโมง) ให้รอ Indexing เสร็จ หากไม่ได้เปลี่ยนแปลงมานานแต่ Indexing ยังคงทำงาน ปัญหา Outlook Index ชัดเจน
เปิดใช้งาน Outlook Indexing โดย Windows Search Service
แก้ปัญหา: Exclude Outlook ชั่วคราวจาก Items ที่ Windows Indexing Service Scan
- ใน Outlook: File -> Settings;
- เลือก Search -> Indexing Options;
- คลิก Change
- ปิด Indexing สำหรับ Microsoft Outlook;
- ปิด Outlook และใน Process Manager ตรวจสอบว่าไม่มี
outlook.exeทำงานอยู่

ใน Properties ของ Outlook OST และ PST Files ให้แน่ใจว่า Allow Indexing (ควรทำแม้ Windows Search Service เปิด Indexing อยู่แล้ว)
- File -> Account Settings -> Account Settings;
- แท็บ Data Files;
- เลือกไฟล์ทีละไฟล์ คลิก Open file location;

- คลิกขวา OST/PST File เลือก Properties;
- คลิก Other;
- Check Allow this file to have context indexed in addition to file properties -> OK

เปิด PowerShell as Admin Restart WSearch Service:
Restart-Service -Name wsearch –verbose

จากนั้น Enable Outlook Indexing ใน Search Settings ที่ปิดไว้ Check Microsoft Outlook ใน Indexing Options Save Changes
รอ Outlook Indexing เสร็จ (ขึ้นกับจำนวน/ขนาด Mailbox และ PST) เช็ค Index Status อีกครั้ง และลอง Search
Rebuild/Reset Outlook Search Index
หากปัญหา Search คงอยู่ แนะนำ Reset และ Rebuild Index ของ Windows Search Service ทั้งหมด
- Outlook: File -> Settings -> Search;
- คลิก Indexing Options -> Advanced;
- คลิก Rebuild;
- อาจใช้เวลานาน และ Performance อาจลดชั่วคราว

Tip. บางกรณีควร Optimize Windows Search Performance ตามคู่มือ: How to fix a very large Windows.edb file
ตรวจสอบและซ่อมแซม Outlook PST Files
บางครั้ง Indexing Service ไม่สามารถ Index PST Files ได้เนื่องจาก Logical Errors หรือ Corruption แนะนำ Check และ Repair PST ด้วย scanpst.exe
Outlook Search และ Cached Exchange Mode
ส่วนนี้อธิบาย Outlook Search ทำงานอย่างไร หาก Mailbox อยู่บน Exchange Server หรือ Exchange Online (Microsoft 365) หาก Cached Exchange Mode เปิดอยู่ Outlook ใช้ Local Index บนเครื่องคุณ หากปิด ใช้ Mailbox-side Index (โดย Microsoft Exchange Search Indexer)

MSExchangeSearch Service Index Email ทันทีที่เข้าสู่ Mailbox Database บน Server หาก Outlook ไม่ Search Mailbox เมื่อใช้ Exchange Search Index ปัญหาอาจอยู่ที่ Exchange Server ใช้ Test-ExchangeSearch Cmdlet Diagnose ปัญหา Exchange Search Service
ปัญหา常见: Disk เต็ม (ไม่พอพื้นที่ขยาย Search Index) หรือ Index File ปัจจุบันเสียหาย ต้อง Rebuild ใช้ Built-in PowerShell Script Reset Search Index ใน Exchange %PROGRAMFILES%\Microsoft\Exchange Server\V14\Scripts\ResetSearchIndex.ps1
Reset Search Index สำหรับ Mailbox Database เฉพาะ:
.\ResetSearchIndex.ps1 mailboxdbname1
เช็คว่า Indexing Enabled สำหรับ Mailbox Database ที่มีปัญหา:
Get-MailboxDatabase mailboxdbname1 | Format-Table Name,IndexEnabled
Outlook: ไม่สามารถ Search ใน Exchange Shared Mailboxes ได้
Fast Search Feature เปิด Default ใน On-premises Exchange ตั้งแต่ Exchange 2016 บางครั้ง Exchange Fast Search ไม่ทำงานถูกต้องกับ Shared Mailboxes ที่เชื่อมต่อใน Outlook ตอน Search Email ใน Shared Mailbox จะเห็น Warning:
We're having trouble fetching results from the server. Some items may not be included in your search results.

ป้องกันไม่ให้ Outlook ใช้ Exchange Fast Search: สร้าง DWORD Registry Parameter DisableServerAssistedSearch = 1 ใต้ Key HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Search (สำหรับ Outlook 2016 และ 2019)
สร้าง Registry Parameter ด้วย PowerShell:
New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Search" -Name DisableServerAssistedSearch -PropertyType "DWORD" -Value "1"
Reboot Windows
ไม่สามารถใช้ Option นี้สำหรับ Shared Mailboxes บน Exchange Online (Microsoft 365) เพราะ M365 ใช้ Microsoft Search แทน FAST Search
Outlook Search ไม่แสดงผลหลังติดตั้ง Updates บน Windows 10 และ 11
หลังติดตั้ง Security Updates Windows 10/11 เดือน ธันวาคม 2021 Outlook Search หา Email ใหม่ๆ ไม่ได้ ปัญหาเกิดกับ Exchange และ Microsoft 365 Mailboxes
Search performance will be impacted because of a problem with how Outlook search is configured.
ปัญหาเกิดหลัง Updates:
- Windows 10 21H2 และ 21H1 – KB5008212
- Windows 11 – KB5008215
Microsoft แก้ไขบางส่วนใน KB5009543 สำหรับ Windows 10 (2022-01) แต่ Patch นี้ไม่ช่วยทุกกรณี
แก้ Outlook Search: Uninstall Windows Update ล่าสุดชั่วคราว:
wusa /uninstall /kb:5008212
หรือตามคำแนะนำ Microsoft: ปิดใช้งาน Windows Desktop Search Indexing Service ใน Outlook ชั่วคราว สร้าง Registry Parameter PreventIndexingOutlook Value 1
New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Search" -Name DisableServerAssistedSearch -PropertyType "DWORD" -Value "1"

Restart เครื่อง Outlook จะใช้ Search Feature ของตัวเอง Search Mailboxes และ PST Files ใน Mode นี้ จะมี Warning:
Search performance will be impacted because a group policy has turned off the Windows Search service.

ข้อเสียหลัก: Outlook Search จะ ช้าลงมาก ดังนั้นเมื่อ Microsoft แก้ Bug ใน Update ถัดไป ต้องลบ Registry Parameter นี้
วิธีแก้ไข Outlook Search อื่นๆ
อะไรเพิ่มเติมที่ควรเช็ค หาก Outlook Search ไม่ทำงาน หรือผลลัพธ์ไม่ครบ?
- Outlook Menu: Search Tools -> Locations to Search ตรวจสอบว่า Mailboxes และ PST Files ทั้งหมดถูก Select สำหรับ Search;

- ตรวจสอบว่า PreventIndexingOutlook = 1 Parameter ไม่อยู่ใน Key “HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search” Parameter นี้ Disable Outlook Indexing โดย Windows Search Service สอดคล้องกับ Policy “Prevent indexing Microsoft Office Outlook” ใต้ GPO Computer Configuration -> Administrative Templates -> Windows Components -> Search หากใช้ MS Office Administrative Templates ใน GPO ให้แน่ใจว่า Parameters ใน Policies ไม่เปลี่ยน Default Outlook Search Settings
- ใน Outlook Settings (File -> Options -> Search) ปิด Option Improve search speed by limiting the number of results shown;

- ปิด Third-party Outlook Extensions (File -> Options -> Add-ins);
- Reinstall Outlook ด้วย Repair Function ของ MS Office MSI Package (Office 365 มี Quick Repair);

- ใช้ Windows 10 Built-in Search Troubleshooter รัน:
msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic
- อ่านเพิ่ม: “How to fix search problems in Windows 10?”