2011-11-22 16 views
7

हम अपने खोज परिणामों को पावर करने के लिए Google कस्टम खोज API (भुगतान-सर्वर-पक्ष API के लिए) का उपयोग कर रहे हैं।Google कस्टम खोज API स्वतः पूर्ण?

मैं खोज करने के लिए एक स्वत: पूर्ण सुविधा जोड़ना चाहते हैं - फिर भी, किसी को भी इस के लिए समर्थन है अगर वहाँ पता है (? या तो सर्वर साइड एपीआई के माध्यम से, या क्लाइंट साइड JSONP के कुछ प्रकार के माध्यम से)

मैंने Google अनुकूलित खोज के लिए स्वत: पूर्ण का उपयोग करने का प्रयास किया है, लेकिन ऐसा लगता है कि यह खोज बॉक्स को आकर्षित करना और परिणामों के साथ Google विज्ञापन प्रदर्शित करना चाहता है, जो मैं नहीं चाहता हूं।

उत्तर

13

समझे इस काम कर रहे कुछ इस तरह - उम्मीद है कि इस किसी और :)

$(function() { 
    $('input.search') 
    .focus(function() { this.select(); }) 
    .mouseup(function (e) { e.preventDefault(); }) 
    .autocomplete({ 
     position: { 
     my: "left top", 
     at: "left bottom", 
     offset: "0, 5", 
     collision: "none" 
     }, 
     source: function (request, response) { 
     $.ajax({ 
      url: "http://clients1.google.com/complete/search?q=" + request.term + "&hl=en&client=partner&source=gcsc&partnerid={GOOGLESEARCHID}&ds=cse&nocache=" + Math.random().toString(), 
      dataType: "jsonp", 
      success: function (data) { 
      response($.map(data[1], function (item) { 
       return { 
       label: item[0], 
       value: item[0] 
       }; 
      })); 
      } 
     }); 
     }, 
     autoFill: true, 
     minChars: 0, 
     select: function (event, ui) { 
     $(this).closest('input').val(ui.item.value); 
     $(this).closest('form').trigger('submit'); 
     } 
    }); 
}); 
+0

इस कोड के लिए धन्यवाद, मुझे इसके साथ एक समस्या है जो मुझे समझ में नहीं आ रहा है। मैं नेटवर्क अनुरोध को सही तरीके से बाहर देख रहा हूं और मुझे अपेक्षित प्रतिक्रिया डेटा के साथ 200 प्रतिक्रिया दिखाई दे रही है, लेकिन किसी कारण से सफलता समारोह कभी भी हिट नहीं किया जा रहा है। कोई विचार? – Paul

+0

बहुत बढ़िया, मेरे लिए काम किया। पॉल, अगर आपको कोई सुझाव नहीं दिख रहा है, तो हो सकता है कि Google के पास आपके लिए कोई भी न हो। मैं वास्तव में इस बात से अचंभित था कि मेरी कस्टम साइट खोज को कितने सुझाव देना था; मैं सीएसई नियंत्रण कक्ष में मैन्युअल रूप से एक बड़ी राशि जोड़ना समाप्त कर दिया। – jfsaliba

+0

ग्रेट, इसके लिए धन्यवाद यह मेरे लिए भी काम करता है। मेरी एकमात्र समस्या '.ui-helper-hidden-access' span है जो अब बंद होने वाले बॉडी टैग से पहले दिखाई देती है। क्या यह ऐसा कुछ है जिसे बंद कर दिया जा सकता है, बल्कि इसे छिपाने के लिए सीएसएस का उपयोग करना? – onebitrocket

1

में मदद करता है लिखने के समय (जून 2013) में, स्वतः पूर्ण हो रही है, जबकि अभी भी रूप में परिणाम प्राप्त करने के कुछ आसान तरीका है एक्सएमएल:

  • Google कस्टम खोज तत्व नियंत्रण (https://developers.google.com/custom-search/docs/element) का उपयोग करें।
  • बस खोज बार नियंत्रण का उपयोग करें, जिसे आप अपनी पसंद के अनुसार स्टाइल कर सकते हैं।

<gcse:searchbox-only enableAutoComplete="true" resultsUrl="#"></gcse:searchbox-only>

  • "चाल" है कि आप खोज को लागू करने के बिना "resultsUrl" आप एक पृष्ठ आप XML API के माध्यम उत्पन्न करने के लिए वास्तविक खोज परिणाम प्रत्यक्ष कर सकते हैं जिसका अर्थ है, निर्दिष्ट कर सकते हैं बॉक्स यूएक्स खुद।
संबंधित मुद्दे