หลักเกณฑ์และตัวอย่างการค้นหา

แนวทางปฏิบัติแนะนำสำหรับการค้นหาเพื่อส่งออกข้อมูลจำนวนมาก

ใช้ฟังก์ชันการรวมข้อมูลเสมอ

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

การค้นหา     วันที่       ประเภทการค้นหา   การแสดงผล ...
แมวอ้วน 10-10-2022      เว็บ          1,000
แมวอ้วน 10-10-2022      เว็บ           200
แมวอ้วน 10-10-2022    รูปภาพ          5,000

การค้นหาแค่เพียงคำว่า "แมวอ้วน" แม้จะเป็นวันที่และประเภทการค้นหาที่เจาะจงก็อาจมีแถวข้อมูลหลายแถวได้ คุณจึงควรรวบรวมข้อมูลตามตัวอย่างต่อไปนี้เพื่อดูผลรวมของจำนวนการแสดงผล

/* BAD way to see most popular query: will get only 1 row per query */
SELECT query, impressions FROM searchconsole.searchdata_site_impression
ORDER BY 2 DESC LIMIT 1;

ผลลัพธ์ที่ได้
fat cats   5000

/* RIGHT way to see the most popular query */
SELECT query, SUM(impressions) FROM searchconsole.searchdata_url_impression
WHERE query != ''  /* Filter out anonymized queries */
GROUP BY query ORDER BY 2 DESC LIMIT 1;

ผลลัพธ์ที่ได้
fat cats   6200

จำกัดการค้นหาตามวันที่เพื่อประหยัดค่าใช้จ่ายในการประมวลผล

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

กรองสตริงการค้นหาที่เป็นค่าว่างออก

คำค้นหาที่มีการลบข้อมูลระบุตัวบุคคลออกมักจะเป็นคำค้นหาที่พบบ่อยที่สุดในเว็บไซต์ ระบบจะรายงานคำค้นหาที่มีการลบข้อมูลระบุตัวบุคคลออกเป็นสตริงที่มีความยาวเป็น 0 ในตาราง หากต้องการดูคำค้นหาที่ได้รับความนิยมสูงสุดสำหรับเกณฑ์หนึ่งๆ ให้กรองค่าคำค้นหาที่มีความยาวเป็น 0 ออกจากการค้นหา SQL

ตัวอย่างการค้นหา

ด้านล่างนี้เป็นตัวอย่างการค้นหาที่จะช่วยให้คุณเตรียมพร้อมและใช้งานข้อมูลได้

ผลการค้นหาตามเว็บไซต์

สถิติทั้งหมดจากเว็บตามวัน (2 สัปดาห์ที่ผ่านมา)

SELECT
  data_date AS date,
  sum(impressions) AS impressions,
  sum(clicks) as clicks,
  sum(clicks) / sum(impressions) AS ctr,
  /* Added one below, because position is zero-based */
  ((sum(sum_top_position) / sum(impressions)) + 1.0) AS avg_position

FROM searchconsole.searchdata_site_impression
WHERE search_type = 'WEB'
  AND data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) and CURRENT_DATE()
GROUP BY data_date

ORDER BY date desc
  LIMIT 1000

คำค้นหายอดนิยมในเว็บบนอุปกรณ์เคลื่อนที่ในสหรัฐอเมริกาตามจำนวนคลิก (2 สัปดาห์ที่ผ่านมา)

SELECT
  query,
  device,
  sum(impressions) AS impressions,
  sum(clicks) AS clicks,
  sum(clicks) / sum(impressions) AS ctr,
  ((sum(sum_top_position) / sum(impressions)) + 1.0) AS avg_position

FROM searchconsole.searchdata_site_impression
WHERE search_type = 'WEB'
    AND country = 'usa'
    AND device = 'MOBILE'
    AND data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) and CURRENT_DATE()
GROUP BY 1,2
ORDER BY clicks
LIMIT 1000

ผลการค้นหาตาม URL

URL ยอดนิยมของ Discover ตามจำนวนคลิก (ในวันที่ระบุ)

SELECT
  url,
  sum(impressions),
  sum(clicks)
  FROM searchconsole.searchdata_url_impression
WHERE search_type = 'DISCOVER'
  AND data_date = DATE(2022, 02, 01)
GROUP BY url
ORDER BY 3
LIMIT 1000

สถิติข้อความค้นหาและ URL ทั้งหมดสำหรับผลการค้นหาที่เป็นริชมีเดียจากคำถามที่พบบ่อย (2 สัปดาห์ที่ผ่านมา)

SELECT
  url,
  query,
  sum(impressions) AS impressions,
  sum(clicks) AS clicks,
  sum(clicks) / sum(impressions) AS ctr,
  ((sum(sum_position) / sum(impressions)) + 1.0) AS avg_position
FROM searchconsole.searchdata_url_impression
WHERE search_type = 'WEB'
  AND is_tpf_faq = true
  AND data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) and CURRENT_DATE()
GROUP BY 1,2 
ORDER BY clicks
LIMIT 1000

การเข้าชมทั้งหมดตาม URL (2 สัปดาห์ที่ผ่านมา)

SELECT
  url,
  search_type,
  sum(impressions) as impressions,
  sum(clicks) as clicks
FROM searchconsole.searchdata_url_impression
WHERE data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) and CURRENT_DATE()
GROUP BY 1,2
ORDER BY 3 desc
LIMIT 1000

การแสดงผลสำหรับการค้นหาที่มีคำว่า "your_brand" (2 สัปดาห์ที่ผ่านมา)

SELECT
  regexp_contains(query, 'your_brand') AS contains_brand,
  sum(impressions) AS impressions,
  sum(clicks) AS clicks
FROM searchconsole.searchdata_url_impression
WHERE search_type = 'WEB'
  AND data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) and CURRENT_DATE()
GROUP BY 1
ORDER BY 2 desc
LIMIT 1000

ข้อมูลนี้มีประโยชน์ไหม

เราจะปรับปรุงได้อย่างไร

หากต้องการความช่วยเหลือเพิ่มเติม

ลองทำตามขั้นตอนต่อไปนี้

ค้นหา
ล้างการค้นหา
ปิดการค้นหา
เมนูหลัก
11764932623120302912
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
83844
false
false