การกรองและการจัดเรียงผลการค้นหา

ภาพรวม

Programmable Search Engine มีโอเปอเรเตอร์การค้นหาที่มีโครงสร้างเพื่อช่วยให้ผู้ใช้เข้าถึงหน้าที่ถูกต้องในเว็บไซต์ได้ ซึ่งจะช่วยให้คุณเจาะลึกผลการค้นหาชุดย่อยได้ตาม Structured Data ที่พบในหน้าเว็บหรือข้อมูลเมตาที่เชื่อมโยงกับรูปภาพในเว็บไซต์

สำหรับการค้นหารูปภาพ Google จะอาศัยทั้งข้อมูลที่มีโครงสร้างในหน้าเว็บและข้อมูลเมตาของรูปภาพที่ค้นพบเมื่อรวบรวมข้อมูลเว็บไซต์ เราขอแนะนำให้ผู้ดูแลเว็บทุกคนทำความคุ้นเคยกับหลักเกณฑ์การเผยแพร่รูปภาพ

  1. ค้นเว็บ
  2. การค้นหาด้วยรูปภาพ
  3. Structured Search ในองค์ประกอบ Programmable Search

ค้นเว็บ

ข้อมูลที่มีโครงสร้างมีการจัดระเบียบตามตรรกะเป็นชุดออบเจ็กต์ที่มีชุดแอตทริบิวต์ ซึ่งต่างจากข้อความที่เป็นลำดับคำแบบอิสระ Programmable Search Engine จะดึงข้อมูลที่มีโครงสร้างต่างๆ เพื่อใช้งานโดยโอเปอเรเตอร์การค้นหาที่มีโครงสร้าง รวมถึงวันที่ ผู้เขียน คะแนน และราคา ข้อมูลนี้เป็นข้อมูลเดียวกันกับที่ใช้ในตัวอย่างข้อมูลที่กำหนดเอง นอกจากนี้ Programmable Search Engine ยังรองรับข้อมูลที่มีโครงสร้างในรูปแบบต่อไปนี้ด้วย

  • PageMap: PageMap แสดงข้อมูลที่มีโครงสร้างเป็น DataObjects อย่างชัดเจนโดยมีแอตทริบิวต์และค่า ซึ่งเข้ารหัสเป็นบล็อก XML ที่ฝังอยู่ในหน้าเว็บ Programmable Search Engine ช่วยให้ข้อมูล PageMap ที่มีการจัดรูปแบบที่ดีทั้งหมดพร้อมใช้งานสำหรับโอเปอเรเตอร์การค้นหาที่มีโครงสร้าง และยังนำไปใช้ในตัวอย่างข้อมูลที่กำหนดเองได้ด้วย
  • แท็ก meta: Google จะดึงเนื้อหาที่เลือกออกจากแท็ก meta ของแบบฟอร์ม <meta name="NAME" content="VALUE"> ใช้แท็ก meta ของแบบฟอร์ม <meta name="pubdate" content="20100101"> กับโอเปอเรเตอร์การค้นหาของแบบฟอร์ม &sort=metatags-pubdate ได้
  • วันที่ของหน้าเว็บ: Google จะประมาณวันที่ของหน้าเว็บโดยอิงจาก URL, ชื่อ, บรรทัดวันที่ และฟีเจอร์อื่นๆ วันที่นี้ใช้กับโอเปอเรเตอร์การจัดเรียงได้โดยใช้ข้อมูลที่มีโครงสร้างประเภท date แบบพิเศษ เช่น &sort=date
  • ข้อมูลตัวอย่างข้อมูลสื่อสมบูรณ์: Google ยังดึงข้อมูลบางส่วนออกจากมาตรฐานสาธารณะด้วย เช่น เพื่อใช้ในโอเปอเรเตอร์ข้อมูลที่มีโครงสร้างของ Programmable Search Engine เช่น หากต้องการจัดเรียงหน้าที่มาร์กอัปด้วยมาตรฐาน Microformat hrecipe ตามการจัดประเภท ให้ใช้ &sort=recipe-ratingstars

ข้อมูลเพิ่มเติมเกี่ยวกับการระบุข้อมูลที่มีโครงสร้าง

หากหน้าเว็บของคุณมีข้อมูลที่มีโครงสร้าง คุณอาจใช้โอเปอเรเตอร์การค้นหาที่มีโครงสร้างของ Programmable Search Engine เพื่อจำกัดการค้นหาไว้เฉพาะช่องที่มีค่าข้อมูลที่เจาะจง โดยจัดเรียงตามค่าตัวเลขอย่างเคร่งครัด ให้น้ำหนักกับค่าบางค่ามากกว่าการจัดเรียง หรือจำกัดช่วงของค่าที่ระบุ

Programmable Search Engine รองรับโอเปอเรเตอร์การค้นหาต่อไปนี้ผ่าน Structured Data

กลับไปด้านบน

กรองตามแอตทริบิวต์

การกรองตามแอตทริบิวต์จะช่วยให้คุณเลือกผลลัพธ์ได้ 3 ประเภท ดังนี้

  • ผลลัพธ์ที่มี DataObject แบบแนบที่เจาะจง เช่น รีวิว
  • ผลลัพธ์ที่มี DataObject ที่มีช่องที่ระบุ เช่น รีวิวที่มีช่วงราคา
  • ผลการค้นหาที่มีค่าที่เจาะจงของช่อง เช่น รีวิวที่มี 5 ดาว

หากต้องการกรองตามแอตทริบิวต์ ให้เพิ่มโอเปอเรเตอร์ more:pagemap:TYPE-NAME:VALUE ลงในคำค้นหา วิธีนี้จะจำกัดผลการค้นหาให้แสดงเฉพาะหน้าที่มีข้อมูลที่มีโครงสร้างตรงกับประเภท ชื่อ และค่านั้นๆ ทุกประการ (Programmable Search Engine จะแปลงแอตทริบิวต์ได้สูงสุด 200 รายการต่อหน้าเว็บ เริ่มต้นด้วยข้อมูล Pagemap ตามด้วย JSON-LD, microformat, เมตาแท็ก, RDFa และ Microdata) แอตทริบิวต์ไม่ควรยาวเกิน 128 อักขระ คุณสามารถทำให้โอเปอเรเตอร์นี้เป็นข้อมูลทั่วไปได้โดยการละเว้น VALUE เพื่อจับคู่อินสแตนซ์ทั้งหมดของฟิลด์ที่มีชื่อ หรือละเว้น -NAME:VALUE เพื่อจับคู่ออบเจ็กต์ทั้งหมดของประเภทหนึ่งๆ

ดูตัวอย่างที่เราใช้ก่อนหน้านี้เพื่อดูวิธีสร้างโอเปอเรเตอร์แบบสมบูรณ์จากข้อมูลที่มีโครงสร้าง

[halloween more:pagemap:document-author:lisamorton]

การแจกแจงข้อจำกัด more:pagemap:document-author:lisamorton ให้ลงรายละเอียดมากขึ้น โอเปอเรเตอร์ more: คือสิ่งที่ Programmable Search Engine ใช้ สำหรับป้ายกำกับการปรับแต่ง ส่วน pagemap: ของการปรับเกณฑ์การค้นหา จะบอกเราให้ปรับแต่งผลการค้นหาตามแอตทริบิวต์เฉพาะใน PageMaps ที่จัดทำดัชนี และองค์ประกอบที่เหลือของโอเปอเรเตอร์ ซึ่งก็คือ document-author และ lisamorton ระบุเนื้อหาที่จะเจาะลึกลงไปในข้อจำกัด เรียกคืน PageMap จากตัวอย่าง:

<PageMap>
  <DataObject type="document">
    <Attribute name="title">The Five Scariest Traditional Halloween Stories</Attribute>
    <Attribute name="author">lisamorton</Attribute>
  </DataObject>
</PageMap>

ตัวระบุ document-author: ของโอเปอเรเตอร์ช่วยให้เรามองหา DataObject ประเภท document โดยมีแอตทริบิวต์ชื่อ author คีย์ข้อมูลที่มีโครงสร้างนี้ตามด้วยค่า lisamorton ซึ่งต้องตรงกับค่าของแอตทริบิวต์ทั้งหมด จึงจะแสดงผลในการค้นหาที่มีข้อจำกัดนี้

more:p:document-author:lisamorton

เมื่อกรองตามแอตทริบิวต์ คุณจะสร้างตัวกรองที่ซับซ้อนมากขึ้น (และคำสั่งที่สั้นลง) ได้โดยใช้คำค้นหาที่กะทัดรัด ตัวอย่างเช่น คุณสามารถเพิ่ม PageMap ต่อไปนี้สำหรับ URL

    <pagemap>
      <DataObject type="document">
        <Attribute name="keywords">horror</Attribute>
        <Attribute name="keywords">fiction</Attribute>
        <Attribute name="keywords">Irish</Attribute>
      </DataObject>
    </pagemap>
  </page>

หากต้องการดึงผลลัพธ์สำหรับการค้นหา "Irish AND fiction" ให้ใช้คำสั่งต่อไปนี้

more:p:document-keywords:irish*fiction

ซึ่งเทียบเท่ากับ more:pagemap:document-keywords:Irish more:pagemap:document-keywords:fiction

หากต้องการเรียกดูผลลัพธ์สำหรับ "Irish AND (fiction OR horror)" ให้ใช้คำสั่งต่อไปนี้

more:p:document-keywords:irish*fiction,irish*horror

กลับไปด้านบน

กรองตามสาขา

กรองตามสาขาเป็นรูปแบบหนึ่งของกรองตามแอตทริบิวต์ที่ใช้ได้กับ JSON-LD, Microformat และ RDFa ซึ่งเป็นตัวกรองประเภทเดียวตามแอตทริบิวต์ที่ใช้ได้กับข้อมูลที่มีโครงสร้าง JSON-LD

หากข้อมูลที่มีโครงสร้างไม่มีต้นไม้หรือมีแต่ต้นไม้ที่ไม่มีรายการย่อย ข้อจำกัดจะเหมือนกับการกรองตามแอตทริบิวต์ อย่างไรก็ตาม ต้นไม้ที่มีรายการย่อยจะมีข้อจำกัดที่มี type-name สำหรับแต่ละโหนดตั้งแต่รากถึงโหนด Leaf ดังนั้นต้นไม้ที่มีลักษณะต่อไปนี้

  • รูทอยู่ในประเภทเหตุการณ์
  • เด็กมีชื่อว่าการให้คะแนน
  • ผู้เผยแพร่โฆษณาย่อยดังกล่าวมีประเภท AggregateRating
  • ย่อยมีแอตทริบิวต์ชื่อ ratingCount และค่า 22
ระบบจะสร้างการจำกัดดังนี้ more:pagemap:event-rating-aggregaterating-ratingcount:22 สำหรับสาขาที่ลงท้ายด้วยจำนวนการให้คะแนน

การใช้การกรองตามแอตทริบิวต์หรือสาขาที่มีฟีเจอร์อื่นๆ

คุณสามารถใช้ไวยากรณ์ปลายเปิดนี้เพื่อเจาะลึกเนื้อหาที่ระบุไว้ใน PageMaps บนเอกสารบนเว็บไซต์ได้ และคุณยังใช้ไวยากรณ์เดียวกันนี้กับข้อมูลที่มีโครงสร้างประเภทอื่นๆ เกือบทุกประเภทที่ Google รองรับได้ โดยไม่รวมวันที่ของหน้าเว็บโดยประมาณเท่านั้น นอกจากนี้ คุณยังสามารถใช้โอเปอเรเตอร์ more:pagemap: เหล่านี้กับ ป้ายกำกับการปรับแต่งหรือ เอลิเมนต์การค้นหาที่ซ่อน เพื่อกรองผลลัพธ์ตามแอตทริบิวต์ที่สำคัญต่อแอปพลิเคชันของคุณ เพื่อให้ผู้ใช้ปลายทางไม่ต้องพิมพ์ตัวระบุข้อจำกัดเหล่านี้โดยตรง

คุณยังละเว้นบางส่วนของโอเปอเรเตอร์การค้นหาได้ด้วย ในตัวอย่างข้างต้น โปรดทราบว่า PageMap จะระบุ DataObject ประเภท document และแอตทริบิวต์ประเภท author แต่บางหน้าในเว็บไซต์อาจไม่ใช่เอกสาร และเอกสารบางรายการอาจไม่ได้มีแอตทริบิวต์ผู้เขียน หากคุณใช้โอเปอเรเตอร์ของรูปแบบ more:pagemap:document-author ผลลัพธ์ที่แสดงจะรวมหน้าทั้งหมดที่มีแอตทริบิวต์ author ใน document DataObject ไม่ว่าค่าของแอตทริบิวต์จะเป็นอย่างไร ในทำนองเดียวกัน more:pagemap:document จะแสดงผลลัพธ์ทั้งหมดด้วย PageMaps ที่มี DataObjects ประเภท document โดยไม่คำนึงถึงช่องที่อยู่ใน DataObject นั้น

การแปลงค่าข้อความเป็นโทเค็นสำหรับข้อจำกัด

ค่าแอตทริบิวต์ที่มีการเว้นวรรค เครื่องหมายวรรคตอน หรือสัญลักษณ์พิเศษ มักจะแยกเป็นโทเค็นแยกกันเสมอ เช่น ค่าแอตทริบิวต์ "Programmable Search Engine@google" จะแยกเป็น 3 โทเค็นแยกกัน ได้แก่ "custom", "search" และ "google" ซึ่งอนุญาตให้ค้นหาด้วยคำเดี่ยวๆ ที่ฝังอยู่ในลำดับคำและเครื่องหมายวรรคตอนที่มากขึ้น เช่น คำอธิบายสำหรับเวอร์ชันที่ใช้จริง (Programmable Search Engine จะแยกโทเค็นได้สูงสุด 10 รายการต่อสตริง ดังนั้นหากค่าแอตทริบิวต์ของคุณมีคำมากกว่า 10 คำ อาจมีการจำกัดผลการค้นหาเพียงบางรายการ) ตัวอย่างเช่น PageMap ต่อไปนี้มีคำอธิบาย Programmable Search Engine ในเวอร์ชันที่ใช้งานจริง

<PageMap>
  <DataObject type="product">
    <Attribute name="description">Programmable Search Engine provides customized search engines</Attribute>
  </DataObject>
</PageMap>

ข้อจำกัดต่อไปนี้จะค้นหาทุกหน้าที่มีแอตทริบิวต์ product-description เกี่ยวกับ "การค้นหา"

[more:pagemap:product-description:search]

กฎอื่นๆ สำหรับการแปลงค่าข้อความเป็นโทเค็นมีดังนี้

  • ระบบจะแปลงค่าข้อความเป็นตัวพิมพ์เล็กเพื่อให้มีข้อจำกัด
  • สำหรับสตริงที่มีโทเค็นได้สูงสุด 6 รายการ ระบบจะสร้างการจำกัดเพิ่มเติมสำหรับทั้งสตริง โดยแทนที่ช่องว่างด้วย _ เช่น please_attend
  • ระบบจะไม่สร้างขีดจํากัดแยกต่างหากสําหรับคำหยุด เช่น คําอย่างเช่น the, a, แต่ และด้วยเหตุนี้ จึงไม่มีประโยชน์สำหรับการค้นหา ดังนั้นค่าข้อความ "the main point" จะสร้างขีดจำกัดสำหรับ main, point และ the_main_point แต่จะไม่สร้างข้อจำกัดสำหรับ the
  • เฉพาะสิบคำแรกในค่าข้อความเท่านั้นที่ใช้เพื่อสร้างขีดจำกัด
  • ระบบจะแปลงอักขระเครื่องหมายวรรคตอนที่ไม่ถือเป็นตัวคั่นเป็นขีดล่าง _

การเจาะลึกค่าที่แปลงข้อมูลเป็นโทเค็นโดยใช้ข้อจำกัดหลายรายการ

หากต้องการเจาะลึกมากขึ้น คุณสามารถเพิ่มข้อจำกัดอื่นๆ เช่น หากต้องการรับเฉพาะหน้าที่อธิบายผลิตภัณฑ์ของเครื่องมือค้นหา ให้เพิ่มข้อจำกัดต่อไปนี้

[more:pagemap:product-description:search more:pagemap:product-description:engine]

ลำดับของข้อจำกัด more:pagemap: ไม่สำคัญ เพราะโทเค็นจะดึงจากค่าแอตทริบิวต์ไปไว้ในชุดที่ไม่เรียงลำดับ

ระบบจะรวมข้อจำกัดเหล่านี้ไว้โดยค่าเริ่มต้นด้วย AND แต่คุณจะรวมข้อจำกัดเหล่านี้เข้ากับโอเปอเรเตอร์ OR เพื่อให้ได้ผลลัพธ์ที่ตรงกับข้อจำกัดอย่างใดอย่างหนึ่งก็ได้ ตัวอย่างต่อไปนี้เป็นการค้นหาที่ จับคู่เนื้อหาจากการค้นหาหรือเกม

[more:pagemap:product-description:search OR more:pagemap:product-description:game]

ข้อยกเว้นอย่างหนึ่งของการแปลงเป็นโทเค็นคือสำหรับค่าแอตทริบิวต์ที่เป็น URL เนื่องจากโทเค็นจาก URL มีประโยชน์ส่วนเพิ่ม เราจึงไม่สร้างโทเค็นจากค่าแอตทริบิวต์ที่เป็น URL ที่ถูกต้อง

ในบางกรณี เช่น เมื่อพบโทเค็นแบบสั้นร่วมกันอยู่บ่อยๆ Programmable Search Engine อาจรวมโทเค็นเหล่านั้นเข้าด้วยกันเพื่อสร้างโทเค็นพิเศษ เช่น หากโทเค็น "P President" และ "Obama" ปรากฏอยู่ติดกันบ่อยครั้ง Programmable Search Engine อาจสร้าง Supertoken "p President_obama" ด้วย ดังนั้น [more:pagemap:leaders-name:president_obama] จะแสดงผลลัพธ์เหมือนกับ [more:pagemap:leaders-name:president AND more:pagemap:leaders-name:obama]

ข้อยกเว้นหลักอีกข้อหนึ่งของการแปลงข้อมูลเป็นโทเค็นตามเครื่องหมายวรรคตอนคือเครื่องหมายทับ "/" เมื่อคั่นตัวเลข ค่าแอตทริบิวต์ในรูปแบบ "NUMBER/NUMBER" หรือ "NUMBER/NUMBER/NUMBER" จะถือว่าเป็นโทเค็นที่ต่อเนื่องกัน เช่น "3.5/5.0" และ "09/23/2006" จะถือว่าเป็นโทเค็นเดี่ยว ตัวอย่างเช่น หากต้องการค้นหาแอตทริบิวต์ที่มีค่า "2006/09/23" ให้ใช้ขีดจำกัดดังนี้

[more:pagemap:birth-date:2006/09/23]

การเข้าร่วมตามเครื่องหมายทับจะใช้ได้ก็ต่อเมื่อเครื่องหมายทับอยู่ระหว่างตัวเลขโดยไม่มีการเว้นวรรค การเว้นวรรคระหว่างเครื่องหมายทับและตัวเลขจะส่งผลให้มีการสร้างโทเค็นแยกกัน นอกจากนี้ จำนวนที่เชื่อมด้วยเครื่องหมายทับต้องตรงกันทั้งหมด โอเปอเรเตอร์ "กรองตามแอตทริบิวต์" จะไม่ตีความค่าเหล่านี้เป็นเศษส่วนหรือวันที่ โอเปอเรเตอร์การค้นหาที่มีโครงสร้างอื่นๆ ของ Programmable Search Engine เช่น จัดเรียงตามแอตทริบิวต์และจำกัดช่วง จะตีความจำนวนเหล่านี้เป็นเศษส่วนและวันที่ โปรดดูรายละเอียดเพิ่มเติมในเอกสารประกอบเกี่ยวกับการให้ข้อมูลที่มีโครงสร้าง

กลับไปด้านบน

ข้อจำกัดจาก JSON-LD

JSON-LD เป็นรูปแบบมาตรฐานที่มีประสิทธิภาพสำหรับข้อมูลที่มีโครงสร้าง ข้อมูลอยู่ในรูปแบบ JSON และใส่ไว้ในแท็ก <script> ที่มี type="application/ld+json"

ต่อไปนี้คือบิตของ HTML ที่มี JSON-LD แบบง่ายบางส่วน:

<script type="application/ld+json">
      {
        "@id": "http://event.example.com/events/presenting-foo",
        "@type": "http://schema.org/AggregateRating",
        "http://schema.org/ratingCount": "22",
        "http://schema.org/ratingValue": "4.4",
        "http://schema.org/itemReviewed": {
          "@type": "http://schema.org/Event",
          "http://schema.org/description": "Please attend.",
          "http://schema.org/name": "Presenting Foo",
          "http://schema.org/startdate": "2022-05-24",
          "http://schema.org/location": "Back room"
        }
      }
</script>

ระบบจะสร้างข้อจำกัดต่อไปนี้

  • more:pagemap:aggregaterating-ratingcount:22
  • more:pagemap:aggregaterating-ratingvalue:4.4
  • more:pagemap:aggregaterating-itemreviewed-event-description:please_attend
  • more:pagemap:aggregaterating-itemreviewed-event-description:please
  • more:pagemap:aggregaterating-itemreviewed-event-description:attend
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting_foo
  • more:pagemap:aggregaterating-itemreviewed-event-name:presenting
  • more:pagemap:aggregaterating-itemreviewed-event-name:foo
  • more:pagemap:aggregaterating-itemreviewed-event-startdate:2022-05-24
  • more:pagemap:aggregaterating-itemreviewed-event-location:back_room
  • more:pagemap:aggregaterating-itemreviewed-event-location:back
  • more:pagemap:aggregaterating-itemreviewed-event-location:room

สำหรับ JSON-LD เราจะสร้างการจำกัดสำหรับทั้งเส้นทางตั้งแต่รูทเท่านั้น โปรดดูกรองตาม Branch อย่างไรก็ตาม รากของต้นไม้ JSON-LD มีโหนด Leaf เป็นระดับย่อย ซึ่งข้อจำกัดที่ได้จะมีรูปแบบเดียวกันกับ "ข้อจำกัดแอตทริบิวต์" ข้อจำกัดบางอย่างในตัวอย่างข้างต้นสร้างขึ้นจากโหนด Leaf ที่รูทและกรอกแบบฟอร์มของแอตทริบิวต์ Restrict (type-name-value) เช่น more:pagemap:aggregaterating-ratingcount:22

หมายเหตุ: รูปแบบข้อมูลที่มีโครงสร้างอื่นๆ อนุญาตให้ใช้สตริงได้สูงสุด 128 ไบต์ แต่สำหรับ JSON-LD ทุกสตริงจะถูกตัดให้เหลือประมาณ 50 อักขระ เพื่อไม่ให้สตริงยาวเกินกว่าคำกลางของคำ การดำเนินการนี้อาจจำกัดจำนวนโทเค็นที่สร้างขึ้นจากสตริงมากกว่าขีดจำกัดโทเค็นไว้ที่ 10 รายการ ทั้งนี้ขึ้นอยู่กับความยาวของคำ

กลับไปด้านบน

จัดเรียงตามแอตทริบิวต์

บางครั้งการจำกัดการค้นหาแค่ผลการค้นหาบางประเภทก็ไม่เพียงพอ ตัวอย่างเช่น ในการค้นหารีวิวร้านอาหาร คุณอาจต้องการให้ร้านอาหารที่มีคะแนนสูงสุดแสดงอยู่ที่ด้านบนสุดของรายการ คุณสามารถทำได้ด้วยฟีเจอร์การจัดเรียงตามแอตทริบิวต์ของ Programmable Search Engine ซึ่งจะเปลี่ยนลำดับของผลลัพธ์ตามค่าของแอตทริบิวต์ Structured Data การจัดเรียงจะเปิดใช้งานโดยการเพิ่มพารามิเตอร์ URL &sort=TYPE-NAME:DIRECTION ไปยัง URL ของคำขอไปยัง Programmable Search Engine เช่นเดียวกับการค้นหาที่มีโครงสร้าง การจัดเรียงตามแอตทริบิวต์จะขึ้นอยู่กับข้อมูลที่มีโครงสร้างในหน้าเว็บของคุณ ซึ่งต่างจากการค้นหาแบบมีโครงสร้างตรงที่การจัดเรียงจะต้องมีการตีความเชิงตัวเลข เช่น ตัวเลขและวันที่

ในรูปแบบที่ง่ายที่สุด คุณระบุประเภทข้อมูลที่มีโครงสร้างโดยอิงตามประเภทออบเจ็กต์ข้อมูลและชื่อแอตทริบิวต์ใน PageMap แล้วเพิ่มลงใน URL ของคำขอเป็น &sort=TYPE-NAME เช่น หากต้องการจัดเรียงตามวันที่ในหน้าเว็บที่แสดงข้อมูลเป็นประเภท date และชื่อ sdate ให้ใช้ไวยากรณ์ต่อไปนี้

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate

โดยค่าเริ่มต้น ฟังก์ชันนี้จะจัดเรียงข้อมูลตามลำดับจากมากไปน้อย กล่าวคือ ผลการค้นหาจะเรียงลำดับตามวันที่อย่างเคร่งครัด โดยวันที่ล่าสุด (ซึ่งแปลเป็นจำนวนมากที่สุด) จะเรียงตามลำดับก่อนหลัง หากต้องการเปลี่ยนลำดับการจัดเรียงเป็นจากน้อยไปมาก ให้เพิ่ม :a ลงในช่อง (หรือต่อท้าย :d เพื่อระบุจากมากไปน้อยอย่างชัดเจน) ตัวอย่างเช่น หากต้องการแสดงผลการค้นหาเก่าที่สุดก่อน คุณสามารถใช้ข้อจำกัดของแบบฟอร์ม

https://www.google.com/cse?cx=000525776413497593842:aooj-2z_jjm&q=comic+con&sort=date-sdate:a

ผลลัพธ์ที่จัดเรียงจากเครื่องมือของคุณจะแสดงตามค่าที่หน้าเหล่านั้นมีใน PageMaps สำหรับ DataObject และแอตทริบิวต์นั้น หน้าที่ไม่มี PageMaps ประเภท DataObject หรือค่าที่แยกวิเคราะห์ได้ของแอตทริบิวต์นั้นจะไม่แสดงในประเภทฮาร์ดโค้ด ในตัวอย่างด้านบน หน้าที่ไม่มีแอตทริบิวต์ date-sdate จะไม่แสดงในผลลัพธ์ ไม่สามารถรวมการจัดเรียงแบบซับซ้อนกับฟีเจอร์การให้น้ำหนักตามแอตทริบิวต์ซึ่งอธิบายไว้ในส่วนถัดไป แต่สามารถใช้ร่วมกับกรองตามแอตทริบิวต์และจำกัดตามช่วงได้

กลับไปด้านบน

การให้น้ำหนักตามแอตทริบิวต์

บางครั้งคุณอาจไม่ต้องการยกเว้นผลการค้นหาที่ไม่มีคุณค่า ตัวอย่างเช่น คุณต้องการค้นหาอาหารเลบานอน ร้านอาหารต่างๆ มากมายอาจตรง ตั้งแต่เลบานอนแท้ (เกี่ยวข้องที่สุด) ไปจนถึงกรีก (เกี่ยวข้องน้อยที่สุด) สำหรับกรณีนี้ คุณสามารถใช้ความอคติแบบรุนแรงหรืออ่อนแอ ซึ่งจะส่งเสริมผลลัพธ์ที่มีคุณค่าของคุณอย่างยิ่งหรืออ่อนลง แต่จะไม่ยกเว้นผลลัพธ์ที่ขาดไป คุณระบุการให้น้ำหนักพิเศษหรือความอ่อนไหวด้วยการเพิ่มค่าที่ 2 ต่อท้ายทิศทางการจัดเรียง: &sort=TYPE-NAME:DIRECTION:STRENGTH อาจเป็น :s สำหรับการให้น้ำหนักพิเศษมาก หรือ :w สำหรับการให้น้ำหนักพิเศษแบบอ่อน (และ :h สำหรับการจัดเรียงแบบถาวร แม้ว่าการเพิ่ม :h จะเป็นตัวเลือกที่ไม่บังคับเนื่องจากเป็นค่าเริ่มต้น) เช่น การเพิ่มการให้น้ำหนักพิเศษมากจะทำให้ร้านอาหารเมดิเตอร์เรเนียนเรตติ้งที่ได้รับคะแนนดีที่สุดจะมีประสิทธิภาพสูงกว่าร้านอาหารเมดิเตอร์เรเนียนที่ให้คะแนนแย่ที่สุด แต่ไม่น่าจะได้อันดับสูงกว่าร้านเลบานอนใดๆ

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s

คุณสามารถรวมการให้น้ำหนักพิเศษหลายรายการได้โดยใช้โอเปอเรเตอร์คอมมา ดังนี้

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-rating:d:s,review-pricerange:d:w

ลำดับของการให้น้ำหนักพิเศษไม่มีความสำคัญ อย่างไรก็ตาม คุณไม่สามารถรวมการจัดเรียงแบบเข้มงวดกับการจัดเรียงประเภทอื่นๆ ได้ เนื่องจากมีการบังคับใช้การเรียงลำดับแบบเข้มงวด โอเปอเรเตอร์การจัดเรียงล่าสุดที่คุณระบุในรายการจะลบล้างโอเปอเรเตอร์การจัดเรียงและการให้น้ำหนักก่อนหน้าทั้งหมด

กลับไปด้านบน

จำกัดตามช่วง

หากต้องการรวมผลลัพธ์ระหว่างช่วงของค่าหรือสูงกว่าหรือต่ำกว่าค่า ให้ใช้ข้อจำกัดของช่วง ขีดจำกัดช่วงจะกำหนดโดย :r ต่อท้ายชื่อแอตทริบิวต์ ตามด้วยขอบเขตบนและล่างของค่าแอตทริบิวต์: &sort=TYPE-NAME:r:LOWER:UPPER ตัวอย่างเช่น หากต้องการรวมเฉพาะรีวิวที่เขียนระหว่างเดือนมีนาคมถึงเมษายน 2009 คุณอาจระบุข้อจำกัดเป็นช่วงดังนี้

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r:20090301:20090430

สำหรับโอเปอเรเตอร์ "จำกัดเฉพาะช่วง" Google จะรองรับตัวเลขในรูปแบบแบบลอยและวันที่ใน ISO 8601 YYYYMMDD โดยไม่มีเครื่องหมายขีดคั่น

คุณไม่จำเป็นต้องระบุขอบเขตบนหรือขอบเขตล่าง เช่น หากต้องการระบุเฉพาะวันที่ก่อนปี 2009 คุณสามารถเขียนดังนี้

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=review-date:r::20091231

หากต้องการรวมเฉพาะการให้คะแนนที่มากกว่า 3 ดาว ให้ใช้รูปแบบต่อไปนี้

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars:r:3.0

ช่วงจะมีความครอบคลุม และสามารถใช้ร่วมกับโอเปอเรเตอร์คอมมาร่วมกับแต่ละรายการ หรือกับการจัดเรียง 1 รายการหรือเกณฑ์การให้น้ำหนักพิเศษอย่างน้อย 1 รายการ โปรดทราบว่าการรวมการจำกัดช่วงกับทั้งเกณฑ์การจัดเรียงและการให้น้ำหนักจะทำให้มีการจัดเรียงรายการที่มีค่าในช่วงเท่านั้น ตัวอย่างเช่น ในการจัดเรียงตามการให้คะแนนเฉพาะรายการที่มีดาว 3 ดาวขึ้นไป ให้ใช้ข้อความต่อไปนี้

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,rating-stars:r:3.0

คุณสามารถจัดเรียงเกณฑ์มากกว่า 1 เกณฑ์และจำกัดตามช่วงบนอีกเกณฑ์ได้ ตัวอย่างเช่น หากต้องการจัดเรียงตามการให้คะแนนเฉพาะรายการที่รีวิวในเดือนตุลาคม ให้ใช้ข้อมูลต่อไปนี้

https://www.google.com/cse?cx=12345:example&q=lebanese+restaurant&sort=rating-stars,review-date:r:20101001:20101031

ค้นหารูปภาพ

เมื่อคุณเปิดใช้งานการค้นหารูปภาพในเครื่องมือค้นหา Google จะแสดงผลการค้นหารูปภาพในแท็บแยกต่างหาก คุณเปิดใช้การค้นหารูปภาพได้โดยใช้แผงควบคุม Programmable Search Engine หรือโดยการอัปเดตไฟล์ Context.xml

การค้นหารูปภาพอาศัยข้อมูลที่ Google ค้นพบเมื่อรวบรวมข้อมูลในไซต์ของคุณ หากต้องการปรับปรุงวิธีแสดงรูปภาพในผลการค้นหา (ทั้งใน Programmable Search Engine และ Google Web Search) คุณควรทำความคุ้นเคยกับหลักเกณฑ์การเผยแพร่รูปภาพของ Google

กรองตามแอตทริบิวต์รูปภาพ

การค้นหารูปภาพรองรับการกรองแอตทริบิวต์ต่างๆ เช่น src, alt และ title เช่นเดียวกับการค้นเว็บ

กลับไปด้านบน

Structured Search ในองค์ประกอบ Programmable Search

ฟีเจอร์การค้นหาที่มีโครงสร้างใช้ร่วมกับองค์ประกอบ Programmable Search ของ Google ได้ด้วย เช่นเดียวกับโอเปอเรเตอร์ที่แสดงในข้อความค้นหาหรือพารามิเตอร์ URL การค้นหาแบบมีโครงสร้างในองค์ประกอบจะกำหนดให้หน้าที่คุณกำลังค้นหาต้องมาร์กอัปด้วยแอตทริบิวต์ที่คุณต้องการค้นหาก่อน จากนั้นโอเปอเรเตอร์ sort ของ Programmable Search Element รวมกับโอเปอเรเตอร์ more:pagemap: ในการค้นหาจะจัดเรียงหรือจำกัดผลการค้นหาอย่างเหมาะสม

ตัวอย่างเช่น SignOnSanDiego.com ซึ่งเป็นพอร์ทัลข่าวในแคลิฟอร์เนียได้ใช้ Element Programmable Search ในการแสดงผลเรื่องราวล่าสุดที่มีรูปภาพในผลการค้นหา

เพื่อให้แน่ใจว่าผู้อ่านจะได้เห็นทั้งข่าวที่เกี่ยวข้องที่สุดและทันเหตุการณ์ด้วย SignOnSanDiego จึงนำการให้น้ำหนักตามแอตทริบิวต์ที่มีน้ำหนัก "สูง" สำหรับวันที่เผยแพร่ล่าสุด SignOnSanDiego นำแอตทริบิวต์วันที่เหล่านี้ไปใช้ กับ PageMaps โดยที่ SignOnSanDiego ใช้แอตทริบิวต์วันที่

<!--
  <PageMap>
    <DataObject type="date">
      <Attribute name="displaydate" value="Wednesday, August 25, 2010"/>
      <Attribute name="sdate" value="20100825"/>
    </DataObject>

    <DataObject type="thumbnail">
      <Attribute name="src" value="http://media.signonsandiego.com/img/photos/2010/08/25/635a63e9-f4a1-45aa-835a-ebee666b82e0news.ap.org_t100.jpg"/>
      <Attribute name="width" value="100"/>
    </DataObject>
  </PageMap>
  -->

หากต้องการใช้ "จัดเรียงตามแอตทริบิวต์" ในช่องนี้ ให้ตั้งค่าตัวเลือก sort ในโค้ดการค้นหาสำหรับ Programmable Search Element ดังที่แสดงด้านล่าง

...
<div class="gcse-search" sort_by="date-sdate:d:s"></div>
...

ตัวเลือกการจัดเรียงในองค์ประกอบ Programmable Search <div class="gcse-search" sort_by="date-sdate:d:s"></div> ใช้ชื่อแอตทริบิวต์แบบรวม เช่น date-sdate และพารามิเตอร์ที่ไม่บังคับอีกหลายรายการที่คั่นด้วยโคลอน เช่นเดียวกับพารามิเตอร์ &sort= ของ URL ที่อธิบายข้างต้น ในกรณีนี้ SignOnSanDiego ระบุการจัดเรียงในลำดับจากมากไปหาน้อย d โดยใช้การให้น้ำหนักพิเศษ s ของโอเปอเรเตอร์ หากคุณไม่ระบุตัวระบุ ค่าเริ่มต้นคือใช้ลำดับจากมากไปหาน้อยโดยจัดเรียงยาก เหมือนกับในกรณีของโอเปอเรเตอร์ URL

ตัวเลือกการจัดเรียงจะเปิดใช้ฟีเจอร์จำกัดตามช่วงด้วย ตัวอย่างเช่น เว็บไซต์อย่าง SignOnSanDiego อาจช่วยให้ผู้ใช้ค้นหาบทความที่เผยแพร่ระหว่างวันที่ 25 สิงหาคมถึง 9 กันยายนในปี 2010 ได้ หากต้องการใช้งาน ให้ตั้งค่าตัวเลือกการจัดเรียงเป็น date-sdate:r:20100825:20100907 ซึ่งอีกครั้งใช้ชื่อแอตทริบิวต์รวม date-sdate แต่จะจำกัดช่วง r ของค่าที่ระบุ 20100825:20100907 แทน เช่นเดียวกับพารามิเตอร์ของ URL คุณจะละเว้นรายการระดับบนหรือล่างของช่วงในตัวเลือก sort ขององค์ประกอบ Programmable Search ได้

คุณลักษณะที่มีประสิทธิภาพอีกอย่างของตัวเลือกการจัดเรียงคือ คุณสามารถรวม "จัดเรียงตามแอตทริบิวต์" และ "จำกัดตามช่วง" ได้ คุณสามารถรวมโอเปอเรเตอร์หลายรายการ ในตัวเลือกการจัดเรียงโดยใช้เครื่องหมายจุลภาค ตัวอย่างเช่น หากต้องการรวมการให้น้ำหนักพิเศษของ SignOnSanDiego กับการจำกัดวันที่ด้านบน คุณต้องระบุ date-sdate:d:s,date-sdate:r:20100825:20100907 ฟีเจอร์นี้อาจรวมแอตทริบิวต์ที่แตกต่างกัน เช่น เว็บไซต์รีวิวภาพยนตร์อาจแสดงภาพยนตร์ที่ได้รับคะแนนสูงสุดที่ออกฉายในสัปดาห์ที่ผ่านมาพร้อมตัวเลือก review-rating,release-date:r:20100907:

โปรดดูแอตทริบิวต์ที่รองรับทั้งหมดในหน้านี้

คุณยังใช้ "กรองตามแอตทริบิวต์" กับองค์ประกอบ Programmable Search ได้ด้วย ตัวอย่างเช่น ดูตัวอย่างก่อนหน้านี้กับหน้าเว็บที่มีแอตทริบิวต์ linked-blog เพื่อสร้างการควบคุมการค้นหาที่กำหนดเองซึ่งแสดงเฉพาะหน้าเว็บที่มีลิงก์เพื่อใช้โค้ดต่อไปนี้เพื่อแทรกโอเปอเรเตอร์ more:pagemap:linked-blog:blogspot ลงในคำค้นหาทุกๆ รายการ

...
<div class="gcse-search" webSearchQueryAddition="more:pagemap:linked-blog:blogspot"></div>
...

วิธีการนี้ค่อนข้างไม่ยืดหยุ่นเนื่องจากจะเพิ่มข้อจำกัดไปยังคำค้นหาทั้งหมดที่มาจากการควบคุมนี้ หากต้องการดูตัวเลือกอื่นๆ โปรดดูเอกสารในองค์ประกอบ Programmable Search

กลับไปด้านบน

การสำรวจฟีเจอร์อื่นๆ

ฟีเจอร์การค้นหาที่มีโครงสร้างเป็นชุดตัวเลือกอันทรงพลังที่ให้คุณควบคุมแอปพลิเคชันการค้นหาได้อย่างดีเยี่ยม อีกทั้งยังใช้แอตทริบิวต์ที่กำหนดเองเพื่อจัดลำดับและจำกัดผลการค้นหาได้อย่างมีประสิทธิภาพอย่างมากสำหรับผู้ใช้ การค้นหาที่มีโครงสร้างยังทำงานได้ดีกับฟีเจอร์อื่นๆ ของ Programmable Search Engine เช่น ข้อมูลโค้ดผลการค้นหาที่กำหนดเอง สำหรับข้อมูลเพิ่มเติม