มาช่วยกัน!
สำหรับปัญหาการค้นหาของ Windows ข้อเสนอแนะของฉันมีสองสิ่ง:
- อ่านเอกสารAQS (Advanced Query Syntax)เพื่อให้คุณรู้ว่าอักขระพิเศษทั้งหมดทำอะไร
- รู้ว่า Windows Search จะแปลงคิวรีของคุณเป็น AQS ที่แม่นยำและหากคุณไม่เจาะจงในแบบสอบถามของคุณ Windows จะเดาว่า AQS คุณหมายถึงอะไรจริง ผลลัพธ์ที่ได้น่าประหลาดใจ!
ก่อนอื่นมีข้อมูลเบื้องต้นเกี่ยวกับ AQS
ตามค่าเริ่มต้นคุณสมบัติของไฟล์สตริง (ชื่อไฟล์ผู้แต่ง ฯลฯ ) จะค้นหาด้วยคำCOP_WORD_STARTSWITH $<ใด ๆ(คั่นด้วยและอื่น ๆ ) ที่ขึ้นต้นด้วยคำค้นหาของคุณ คุณสมบัติอื่น ๆ ที่ไม่ใช่สตริง (วันที่เป็นต้น) ค้นหาด้วยหรือจับคู่แบบตรงตามค่าเริ่มต้น (ไม่มีไวลด์การ์ดและเป็นตัวอักษร)spaces , - _ () []COP_EQUAL =*?
ประการที่สองถ้าคุณกำลังค้นหาในใด ๆสถานที่จัดทำดัชนีแล้วทุกสถานที่ที่ไม่ได้จัดทำดัชนีในการค้นหาของคุณจะไม่แสดง
ประการที่สามคลิกที่แถบที่อยู่เพื่อดูว่า AQS ค้นหา Windows จริงด้วย คุณสามารถเพิกเฉยที่ตั้ง crumbs และชื่อที่แสดงได้: มันจะถูกเข้ารหัสเป็นเปอร์เซ็นต์ดังนั้นถอดรหัสบนเว็บไซต์เช่นhttps://www.url-encode-decode.com/
ประการที่สี่ไม่มีเอกสาร*และ?ประพฤติตนโดยไม่คาดเดาใน AQS เว้นแต่ว่าอยู่ใน~ COP_DOSWILDCARDSข้อความค้นหา (หมายถึงคำที่ไม่ใช่คำที่ขึ้นต้นด้วยและการ์ดเสริม*หรือ?ถูกตีความ) โดยปกติการค้นหาของ Windows จะแปลงการค้นหาเป็น~แบบสอบถาม ตัวอย่างเช่นดูเหมือนว่าไวลด์การ์ด**และ?ด้วยตัวอักษรและตัวเลขค้นหาคุณสมบัติสตริงด้วย~แต่**ไม่มีตัวอักษรและตัวเลขค้นหาอะไรเลย นอกจากนี้ยังเดียว*ไม่ใช่คำสั่งจะถือว่าเป็นสัญลักษณ์แทนด้วย~COP_WORD_STARTSWITH $<
มาวิเคราะห์คำค้นหากัน
(AQS search-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Usersแบบง่ายcrumb=
ดีไม่มีการอ้างอิง(เป็นตัวดำเนินการจัดกลุ่มสำหรับเมื่อคุณใช้ANDหรือORคุณจัดกลุ่มอะไรดังนั้น Windows คิดว่าคุณหมายถึงกลุ่มไม่มีอะไรค้นหาทุกอย่าง
*(* AQS crumb=
การค้นหา windows ส่วนใหญ่ที่เริ่มต้นด้วย*windows จะพยายามแปลงเป็นcrumb=~~query_term(มีการค้นหา) *ถือว่าเป็นเรื่องปกติในแบบสอบถามที่มี อย่างไรก็ตามในกรณีนี้คุณใช้ wild card เป็นกลุ่มที่ไม่มีอะไรเลยดังนั้น Windows จะค้นหากลุ่มของไม่มีอะไรเลย (หรือทุกอย่าง!)
"(" AQS crumb=System.Generic.String:"("
ค้นหาคำปรึกษาสำหรับวลีที่แน่นอน (ทั้งคำหรือทรัพย์สินควรจะตรง) และอักขระตามตัวอักษรยกเว้นสำหรับ*, ?และกลายเป็น"" "สิ่งนี้จะค้นหาคำที่ขึ้นต้นด้วย(แต่เนื่องจากคำไม่ได้(เป็นเพียงการค้นหาคุณสมบัติที่มีเพียง(
*"("*AQS อันcrumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*
นี้บ้า แต่ Windows Search พยายามแปลงคำนำหน้า*ตามด้วยอักขระพิเศษบางตัวในการจัดอันดับดาว 1-13 คือ 1 ดาว โปรดทราบจากการทดสอบของฉัน**โดยไม่ใช้ตัวอักษรและตัวเลขใด ๆ ก่อนหรือหลังค้นหาโดยไม่ต้องใช้อะไรแทนการใช้ wild card และไม่สามารถคาดเดาได้
แบบสอบถามแบบเต็มนี้หมายถึง
(คะแนน 1 ดาวหรือ Word ที่เริ่มต้นด้วยอะไร) (และคุณสมบัติที่เป็นเพียง *จะไม่ตรงกับตัวละครอื่น ๆ ใด ๆ (เพราะทรัพย์สินทั้งหมดจะต้องมีการ
ย่อมันก็หมายความว่าไฟล์ 1 ดาวที่เรียกว่า (
**ในแบบสอบถามแสดงให้เห็นว่าฉันไม่ใช่ดาวดวง(เดียวสำหรับไฟล์ แต่เมื่อเปลี่ยน**ไปเป็น***แล้วก็กลับ**ให้ผลลัพธ์ที่คาดไว้ไม่มีผลลัพธ์ ( **คาดเดาไม่ได้)
คำตอบอื่น ๆ
~="(" AQS crumb=System.Generic.String:~="("
สิ่งนี้ใช้ไม่ได้ดูเหมือนว่า windows จะไม่พบสิ่งใดหากปริมาณการค้นหาเข้มข้นเกินไป filename:~="("ทำงานได้ดี เป็นหลักค้นหาชื่อไฟล์ที่มีเพียง(บางแห่ง
"*(*"AQS crumb=filename:~~"*(*" OR System.Generic.String:"*(*"
สิ่งนี้ใช้ได้ผล ชื่อไฟล์มี*(*กับบัตรป่าหรือคำทรัพย์สินใด ๆ (ที่เริ่มต้นด้วยบัตรป่าและมี หมายเหตุทั้ง~=และ~~ค่าเฉลี่ยประกอบด้วย