Flask Extension เพื่อให้มุมมองการค้นหาสำหรับการสอบถามบัญชี Google Search ของ WebTeam ของ WebTeam
pip3 install canonicalwebteam.search
หรือเพิ่ม canonicalwebteam.search to Your requirements.txt
หากคุณใช้ฐานขวดคุณต้องใช้อย่างน้อย 2.0.0 หากคุณไม่ได้คุณจะต้องใช้อย่างน้อย [email protected]
สำหรับการพัฒนาในท้องถิ่นเป็นการดีที่สุดที่จะทดสอบโมดูลนี้กับหนึ่งในโครงการเว็บไซต์ของเราเช่น ubuntu.com สำหรับข้อมูลเพิ่มเติมให้ทำตามคำแนะนำนี้ (ภายในเท่านั้น)
คุณสามารถเพิ่มส่วนขยายในแอปพลิเคชันของโครงการของคุณได้ดังนี้:
import talisker . requests
from flask import Flask
from canonicalwebteam . search import build_search_view
app = Flask ( "myapp" ) # You must provide app
session = talisker . requests . get_session () # You must provide a requests session
app . add_url_rule ( "/search" , "search" , build_search_view ( app , session ))
# Or, a bit more complex example
app . add_url_rule (
"/docs/search" ,
"docs-search" ,
build_search_view (
app = app # required in version 1.4.0 onwards
session = session ,
site = "maas.io/docs" ,
template_path = "docs/search.html" ,
search_engine_id = "xxxxxxxxxx" , # Optional argument, required by some of our sites
request_limit = "500/day" , # Allows your to configure the limit at which the user will be forbidden to query more. If omitted defaults to 2/second, 100/minute, 2000/day
)
)
คุณต้องสร้างเทมเพลต HTML ที่ template_path ที่ระบุเฉพาะ โดยค่าเริ่มต้นสิ่งนี้จะเป็น search.html ภายในโฟลเดอร์เทมเพลตของคุณ เทมเพลตนี้จะถูกส่งผ่านข้อมูลต่อไปนี้:
{{ query }} - เนื้อหาของพารามิเตอร์ q= Search Query{{ start }} - เนื้อหาของพารามิเตอร์ start= query - การชดเชยที่จะเริ่มส่งคืนผลลัพธ์ (ใช้สำหรับการแบ่งเพิง - ค่าเริ่มต้น 0){{ num }} - เนื้อหาของพารามิเตอร์ num= query - จำนวนผลการค้นหาที่จะส่งคืน (ค่าเริ่มต้น 10){{ results }} - ผลลัพธ์ที่ส่งคืนจาก Google Search Query ผลการค้นหาจริงอยู่ใน {{ results.entries }} จากนั้นคุณต้องระบุคีย์ API สำหรับ Google Search API เป็นตัวแปรสภาพแวดล้อมที่เรียกว่า SEARCH_API_KEY เมื่อเซิร์ฟเวอร์เริ่ม - เช่น:
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
เมื่อทำสิ่งนี้เสร็จแล้วคุณควรเยี่ยมชม /search?q={some_query} ในเว็บไซต์ของคุณและดูผลการค้นหาที่สร้างขึ้นด้วยเทมเพลต search.html ของคุณ
สำหรับบางไซต์คุณจะต้องผ่าน ID เครื่องมือค้นหาเฉพาะ (CX) ไปยัง build_search_view ซึ่งคุณจะพบในหน้าเครื่องมือค้นหาที่กำหนดเอง
หากคุณสร้างไซต์ใหม่และ API จะไม่ส่งคืนผลลัพธ์ใด ๆ คุณอาจต้องเพิ่มลงในรายการเครื่องมือค้นหาของ Google Custom Search ของเว็บไซต์ หากคุณไม่เห็นเว็บไซต์ใด ๆ ในหน้านี้ให้ถาม WebTeam