HACK#11 การสืบค้นด้วยการระบุช่วงเวลา (Date-Range Searching)

คุณสมบัติการสืบค้นที่ทรงอานุภาพของ Google และ Google API ก็คือ สามารถสืบค้นได้ด้วยการกำหนดช่วงเวลาที่ข้อมูลนั้นถูกจัดทำอินเด็กซ์

ก่อน ที่เราจะลงไปถึงรายละเอียดในส่วนนี้ ขอให้คุณทำความเข้าใจเสียก่อน ในประการแรกคือ การสืบค้นโดยกำหนดช่วงเวลานั้น “ช่วงเวลา” ในที่นี้ไม่มีส่วนเกี่ยวข้องกับวันที่ที่ข้อมูลนั้นถูกสร้าง (created date) ขึ้นมาทั้งสิ้น แต่มันเป็นเพียงวันที่ที่ Google ได้จัดทำอินเด็กซ์ (indexed date) ของข้อมูลนั้นๆขึ้นมาเท่านั้นเอง ยกตัวอย่างเช่น หากวันที่สร้างข้อมูล คือวันที่ 8 มีนาคม พ.ศ. 2542 และ Google เพิ่งจะมาจัดทำอินเด็กซ์ข้อมูลนี้ในวันที่ 22 พฤษภาคม พ.ศ. 2545 คุณจะสืบค้นข้อมูลนี้ใน Google ได้ โดยระบุ “ช่วงเวลา” เป็นวันที่ 22 พฤษภาคม พ.ศ. 2545 เท่านั้น
อีกประการหนึ่งคือ Google จะจัดทำอินเด็กซ์ใหม่อยู่เสมอๆ ดังนี้ Web Page หน้าหนึ่งๆ อาจมีการถูกจัดทำอินเด็กซ์หลายหน และแต่ละหนก็จะทำให้วันที่ในการจัดทำอินเด็กซ์ (indexed date) เปลี่ยนไปด้วย ดังนั้นจงอย่าคาดหวังว่าช่วงเวลาของข้อมูลที่อยู่ใน Google Index นั้นจะคงที่เสมอไป เพราะเหตุนี้การระบุวันที่ตามหลังซินแท็กซ์อย่าง daterange: จึงต้องเปลี่ยนไปด้วย หาก Web Page หน้าดังกล่าวมีการจัดทำอินเด็กซ์มากกว่าหนึ่งครั้ง แต่ทั้งนี้การที่ Web Page จะถูกจัดทำอินเด็กซ์ใหม่หรือไม่นั้น ก็ขึ้นอยู่กับว่าเนื้อหา Web Page หน้านั้นมีการเปลี่ยงแปลงหรือไม่ด้วย กล่าวคือถ้าหน้านั้นยังคงเดิมทุกอย่าง ก็จะไม่มีการเปลี่ยนแปลงวันที่ในอินเด็กซ์ (indexed date) ของ Google แต่อย่างใด

ประการ ที่สาม คือ Google ไม่มี “ส่วนเกี่ยวข้อง” กับผลของการสืบค้นด้วยการใช้คำสั่งที่ระบุช่วงเวลา ดังนั้นหากคุณได้รับผลการสืบค้นที่แปลกออกไป คุณก็คงไปโทษการทำงานของคำสั่งเหล่านี้ไม่ได้ แต่ Google มักจะใช้คำสั่งเหล่านี้กับ Web Page ที่ต้องการการสืบค้นขั้นสูงมากกว่า อย่างไรก็ตาม การสืบค้นขั้นสูงก็จะมีข้อจำกัดคือ คุณจะต้องเลือกจากช่องข้อมูลที่ Google มีให้เลือกเท่านั้น ซึ่งมักจะเป็น สามเดือน หกเดือน หรือหนึ่งปี
daterange:
มูลเหตุที่คุณต้องการสืบค้นด้วย daterange: อาจมีดังต่อไปนี้
  • daterange: จะจำกัดการสืบค้นของคุณให้ได้เนื้อหาที่ทันสมัยมากขึ้น เพราะ Google อาจจะสืบค้นไปเจอ Web Page บางหน้าที่ไม่น่าดูชมเข้าโดยบังเอิญ แต่ก็จัดทำอินเด็กซ์เอาไว้เช่นกัน และหลังจากเวลาผ่านไป 2 ปี Web Page ที่ไม่น่าดูชมนี้ก็ยังไม่เคยเปลี่ยนแปลงหน้าตาไปในทางที่สร้างสรรค์เลย ที่สำคัญมันยังคงปรากฎขึ้นในผลการสืบค้นของคุณอยู่เช่นเดิมถ้าคุณสืบค้นแบบ ปกติ ดังนั้นการจำกัดการสืบค้นให้ได้ข้อมูลที่ทันสมัยมากขึ้น จะทำให้คุณได้รับผลการสืบค้นที่คุณต้องการโดยที่ได้ข้อมูลทันสมัยที่สุด
  • daterange: จะทำให้คุณได้พบกับเรื่องราวที่ทันเหตุการณ์อยู่เสมอ เช่น ชายคนหนึ่งชื่อนายจอห์น โด ได้ทำลายสถิติโลกในเรื่องการรับประทานฮ๊อทดอก และทันทีทันใดหลังจากนั้นก็ได้รีบรุดเข้าไปช่วยเหลือทารกที่ติดอยู่ในตึกที่ กำลังถูกเพลิงไหม้ หนึ่งสัปดาห์หลังจากนั้นผลการสืบค้นของ Google ก็จะเต็มไปด้วยข้อมูลเกี่ยวกับนายจอห์น โด ผู้นี้ หากคุณกำลังสืบค้นหาข้อมูลเกี่ยวกับ จอห์น โด (คนอื่น) หรือเด็กทารก หรือตึกถูกเพลิงไหม้ ก็คงยากที่จะหลีกหนีข้อมูลเกี่ยวกับจอห์น โด คนนี้ได้ อย่างไรก็ตาม คุณยังสามารถที่จะกันจอห์น โด ผู้นี้ออกไปจากผลการค้นหาได้ ด้วยการกำหนดช่วงเวลาของอินเด็กซ์ข้อมูล ให้อยู่ใน ช่วงก่อนที่การแข่งขันรับประทานฮ็อทดอกจะเกิดขึ้น วิธีนี้จะใช้ได้ดีกับการหลีกเลี่ยงเรื่องราวที่ตกเป็นข่าวอย่างหนาหูไปทั่ว ในสื่อทุกแขนง เช่น คดีฆาตกรรมหฤโหดหรือข่าวเกี่ยวกับไฟป่าที่กำลังลุกลาม หรือข่าวสำคัญระดับชาติ เช่น ข่าวการเลือกตั้งและข่าวกีฬาโอลิมปิก เป็นต้น
  • daterange: ทำให้คุณสามารถเปรียบเทียบผลการสืบค้นในช่วงเวลาใดเวลาหนึ่งได้ เช่น คุณต้องการที่จะสืบค้นเพื่อหาจำนวนผลลัพธ์ของคำว่า “MAC OS X” และ “Window XP” ในช่วงเวลาใดเวลาหนึ่ง แต่แน่นอนว่า จำนวนผลลัพธ์ที่ได้ย่อมไม่ถูกต้องเสมอไปนัก เพราะวันที่ของการจัดทำอินเด็กซ์เองก็เปลี่ยนแปลงไปเรื่อยๆเช่นกัน แต่โดยทั่วไปแล้ว มันก็ทำงานได้ดีพอในระดับที่จะทำให้คุณมองเห็นแนวโน้มของข้อมูลได้ โดยมีรูปแบบการใช้ง่ายๆ ดังนี้
daterange:startdate-enddate
โดย มีข้อแม้ก็คือ วันที่นั้นจำเป็นจะต้องเขียนในรูปแบบ Julian Date ซึ่งเป็นวันที่นับต่อเนื่องกันไปในแต่ละปี นับตั้งแต่เวลาเที่ยงวันของวันที่ 1 มกราคม 4713 ปีก่อนคริสต์กาล ดังนั้น Julian Date ของวันที่ 8 กรกฎาคม ค.ศ.2002 คือ 2452463.5 และ Julian Date ของวันที่ 22 พฤษภาคม ค.ศ. 1968 คือ 2439998.5 นอกจากนี้ Google ยังไม่รับค่าวันที่ที่เป็นจุดทศนิยมเพื่อใช้กับ daterange: อีกด้วย เราจึงใช้ได้เฉพาะจำนวนเต็มอย่างเช่น 2452463 หรือ 2452464 เท่านั้น (ขึ้นอยู่กับว่าคุณอยากจะปัดเศษทศนิยมขึ้นหรือปัดเศษลง)
  • Tip คุณ สามารถที่จะแปลงวันที่ตามปฏิทินให้เป็น Julian Date ในขณะที่ออนไลน์ได้จากหลายแห่ง เราได้ค้นพบเว็บไซต์ดีๆ ที่จะช่วยคุณในเรื่องนี้ได้หลายที่ เช่น เว็บไซต์ของ U.S Naval Observatory Astronomical Applications Department (http://aa.usno.navy.mil/data/docs/JulianDate.html) โดยเว็บไซต์นี้จะสามารถแปลงวันที่จาก Julian Date ไปเป็น Gregorian Date หรือจะแปลงกลับมาอย่างเดิมก็ย่อมได้ หรือคุณอาจจะสืบค้นเอาเองใน Google โดยระบุคำว่า Julian Date (http://www. Google .com/search?hl=en&lr=&ie=ISO-8859-1&q=julian+date) ก็ได้เช่นกัน
คุณสามารถที่ี่จะ ใช้ซินแท็กซ์อย่าง daterange: ร่วมกับซินแท็กซ์อื่นๆใน Google ได้เป็นส่วนใหญ่ ยกเว้นตัวเดียวคือ link: ซึ่งไม่สามารถใช้ร่วมกับซินแท็กซ์ตัวอื่นๆได้ (Hack #8) รวมทั้ง Special Collections ในบทที่ 2 (เช่น stock: และ phonebook:) ด้วยเช่นกัน
daterange: ทำงานได้ดีในการจำกัดผลการค้นหาของคุณให้แคบลง ตัวอย่างเช่น หนึ่งในสาวสวยแห่งวง Spice Girls ที่ชื่อ Geri Halliwell ออกจากวงไปประมาณวันที่ 27 พฤษภาคม พ.ศ. 2541 หากคุณต้องการที่จะได้ข้อมูลที่ได้เก็บสำรองเอาไว้มากๆ คุณอาจจะลองระบุช่วงระยะเวลาให้ครอบเวลาดังกล่าวสัก 10 วัน เช่น ตั้งแต่วันที่ 25 พฤษภาคม ถึงวันที่ 4 มิถุนายน ซึ่งรูปแบบคำสั่งจะเป็นดังนี้คือ
“Geri Halliwell” “Spice Girls” daterange:2450958-2450968
ด้วย คำสั่งนี้ คุณจะได้ผลการสืบค้นประมาณ 15 รายการ ซึ่งรวมไปถึงข่าวคราวมากมายเกี่ยวกับการแยกวง หากคุณต้องการข้อมูลที่ไม่เป็นทางการนัก คุณอาจลองพิมพ์คำว่า Geri หรือ Ginger Spice แทนชื่อเต็มของ Geri Halliwell ดูก็ได้ นี่เป็นเพียงตัวอย่างสนุกๆให้คุณพอเข้าใจ หากมีเหตุการณ์ใดๆ ที่คุณสามารถจะแบ่งออกเป็นวันที่ก่อนเหตุการณ์และวันที่หลังเหตุการณ์ของ เหตุการณ์สำคัญ วันเสียชีวิต หรือวันที่เกิดเหตุการณ์วิกฤตต่างๆ คุณสามารถที่จะระบุลงในการสืบค้นด้วย daterange: ได้ นอกจากนี้คุณยังสามารถใช้วันที่ที่สำคัญเป็นพิเศษของบุคคลใดบุคคลหนึ่ง เพื่อเปลี่ยนผลการสืบค้นให้กว้างขึ้น ยกตัวอย่างเช่น อดีตผู้บริหารสูงสุดของบริษัท Imclone ชื่อ Sam Waskal ถูกจับกุมตัวในวันที่ 12 มิถุนายน พ.ศ. 2545 คุณอาจจะไม่ต้องไปสืบค้นจากชื่อ Sam Waskal เพื่อผลการสืบค้นที่เฉพาะเจาะจงมากนัก คุณอาจจะเลือกใช้คำสั่งว่า
imclone daterange:2452439-2452439

การ สืบค้นด้วยคำว่า imclone ในช่วงก่อนวันที่ 2452439 นั้นจะทำให้คุณได้ผลการสืบค้นที่แตกต่างออกไปอย่างมาก ในฐานะที่เป็นตัวอย่างที่น่าสนใจ ลองเปลี่ยนการสืบค้นให้แสดงผลการค้นหาเป็นวันที่ Sam Warkal ถูกจับกุมดูบ้าง ด้วยการระบุช่วงวันที่ก่อนวันที่เขาจะถูกจับจริงๆ สักสองสามวันดังนี้
imclone investigated daterange:2452000-2452435

วิธี นี้เป็นวิธีที่ดีที่จะสืบค้นข้อมูล หรือวิเคราะห์เหตุการณ์ในช่วงก่อนวันที่เกิดเหตุการณ์ ซึ่งเป็นที่มาของการสืบค้น เพราะจะช่วยปูพื้นฐานที่จะอธิบายถึงเหตุการณ์สืบค้นอีกทีหนึ่ง (โดยปกติแล้วข้อมูลเหล่านี้มักจะถูกกล่าวถึงในเนื้อข่าวอยู่แล้ว นอกเสียจากว่าคุณจะสืบค้นด้วยการกำหนดช่วงวันที่ของข้อมูล)
การสืบค้นด้วยวันที่ที่ข้อมูลถูกสร้างขึ้นมา
การ ค้นหาบทความต่างๆ โดยอาศัยวันที่ที่ข้อมูลถูกสร้างขึ้นมานั้นออกจะยากสักหน่อย เพราะเราไม่มีรูปแบบวันที่มาตรฐานสำหรับการค้นหาแบบนี้ คนจำนวนมากมักจะไม่ใส่วันที่ให้กับ Web Page ของตน ในบาง Web Page คุณจะไม่เห็นข้อมูลวันที่ปรากฏอยู่ที่ส่วนหัวของ Web Page เลย นอกจากนี้ระบบที่ทำการจัดการเกี่ยวกับเนื้อหาของ Web Page (Content Management Systems) ยังทำให้เราสับสนมากขึ้น ด้วยการไม่ใส่ค่าวันที่ปัจจุบันที่ Web Page หน้านั้นถูกสร้างขึ้นเป็นวันที่ของ Web Page ข้อแนะ นำสำหรับการสืบค้นโดยใช้วันที่ที่ข้อมูลถูกสร้างขึ้นมา ก็คือการแทรกวันที่ในรูปแบบของวันที่ที่ใช้กันโดยทั่วไปลงในคำสืบค้น เช่น หากคุณต้องการข้อมูลที่เกิดขึ้นนับจากเดือนพฤษภาคม พ.ศ. 2546 เป็นต้นมา คุณสามารถที่จะแทรกวันที่ลงไปได้ดังนี้
(“May*2003” | “May 2003” | 05/03 | 05/*/03)

การ ระบุคำสั่งเช่นนี้ทำให้คุณใช้คำมากจนเกินสิบคำที่ Google กำหนดเอาไว้ ดังนั้นคุณควรไตร่ตรองให้ดีเสียก่อน ด้วยการทบทวนดูไปทีละคำๆ หากคำไหนทำให้เกิดผลลัพธ์มากเกินไป ก็พยายามจำกัดการสืบค้นไปที่ Title ของ Web Page หน้านั้นๆแทน
หากคุณอยากโชคดีค้นปุ๊ปเจอปั๊บ คุณอาจสืบค้นด้วยวันที่แบบเต็มรูปแบบ เช่น May 9, 2003 เป็นต้น ทั้งนี้ขึ้นอยู่กับว่าคุณต้องการจะสืบค้นวันที่ด้วยรูปแบบใด เช่น รูปแบบเดียวดังข้างต้น หรือสืบค้นด้วยรูปแบบที่หลากหลาย เช่น 9 May 2003, 9/5/2003 หรือ 9 May 03 เป็นต้น หากแต่การสืบค้นด้วยวันที่แบบเดียวนั้นอาจจำกัดผลการสืบค้นที่ได้จนเกินไป ดังนั้นจึงควรใช้วิธีนี้เป็นวิธีสุดท้าย
เมื่อ ทำการสืบค้นด้วยการระบุช่วงเวลา คุณควรเปิดความคิดให้กว้าง และสืบค้นให้กว้างขึ้นกว่าที่ควร (เพราะการสืบค้นแบบกำหนดช่วงเวลาจะทำให้คุณได้ผลการสืบค้นที่แคบลงอยู่แล้ว) และคุณควรหมั่นสืบค้นไปเรื่อยๆ เพราะการระบุช่วงเวลาที่แตกต่างกัน ก็จะให้ผลลัพธ์ที่แตกต่างกันมาก แต่คุณก็จะได้รับผลตอบแทนด้วยการได้ผลลัพธ์ที่แคบลงและเน้นไปที่เรื่องราว หรือเหตุการณ์ที่คุณต้องการจริงๆ

โพสต์ยอดนิยมจากบล็อกนี้

I miss you all กับ I miss all of you ต่างกันอย่างไร

ปัญหาและเฉลยวิชาธรรม นักธรรมชั้นตรี สอบในสนามหลวง วันอังคาร ที่ ๒๙ กันยายน พ.ศ.๒๕๕๒

ปัญหาและเฉลยวิชาอนุพุทธประวัติ นักธรรมชั้นโท สอบในสนามหลวง วันอาทิตย์ ที่ ๒๐ พฤศจิกายน พ.ศ. ๒๕๔๘