Вопросы о поиске по сайту Google в сочетании с Google API

Я пытаюсь включить поиск по сайту Google в свой проект .NET MVC, и я очень запутался в документации.

Справочник по Google XML API не содержит абсолютно никаких ссылок на какой-либо код или классы, которые могут использоваться для поиска. В результате я извлекаю XML и анализирую его вручную.

Однако я также столкнулся с Google API, и я не уверен, связаны ли они между собой или это две разные вещи, а также смущен, почему developer.google.com не упоминает о существовании code.google.com.

Итак, мои вопросы здесь для того, чтобы положить конец путанице.

а) Поиск по сайту Google (платная услуга) можно использовать с API Google, несмотря на отсутствие информации об этом в разделе XML API для разработчиков? Имейте в виду, что вам не нужен ключ API для использования поиска по сайту Google.

б) Является ли API совершенно отдельным объектом, для которого требуется ключ API, и поэтому его не рекомендуется использовать в коммерческих целях вместе с поиском по сайту Google из-за ограничений API, которых нет в обычном платном сервисе?

c) Как лучше всего реализовать поиск по сайту Google (который, как я понимаю, является платной версией пользовательского поиска Google) внутри приложения .NET MVC 4? Получить XML и проанализировать его вручную или использовать запрос в десериализованных объектах с помощью API?

В настоящее время я делаю первое, но мне все время интересно, смогу ли я создать лучший, более тестируемый код, объединив свое решение с API.

Я продолжаю находить смешанные ресурсы по этому поводу в Интернете, и я не уверен, куда идти.

Спасибо




Ответы (2)


Я не могу помочь с лучшими практиками .NET, но могу рассказать кое-что об API. Существует 2 разных API для пользовательского поиска (помимо виджета js):

Старый, XML API: https://developers.google.com/custom-search/docs/xml_results Более новый, JSON API: https://developers.google.com/custom-search/json-api/v1/overview

Я считаю, что упомянутая вами библиотека предназначена для последнего.

Ключ API для платной версии поиска по сайту можно найти в Панели управления google.com/cse.

person Devnook    schedule 29.10.2013
comment
Спасибо за ответ. Я как бы разобрался с a и b, но все еще ничего не знаю о c. Теперь я знаю об API, и у меня есть ключ, но мне больше интересно узнать, предпочтительнее ли использовать API или нет. Пока моя реализация анализирует XML вручную, и это работает хорошо. Я не вижу никаких преимуществ в использовании API, за исключением, возможно, более чистого кода. Google также не предоставляет образцы для пользовательского поиска :( - person Nick; 30.10.2013
comment
Я думаю, что Google обычно предоставляет библиотеку, чтобы облегчить жизнь разработчика, но использовать ее не обязательно. Вам решать, хотите ли вы использовать его или написать свой собственный. Один из вариантов использования, в котором я бы лично рекомендовал использовать библиотеку, - это если вы работаете с API, который молод и сильно меняется, тогда бремя поддержки изменяющихся вызовов ложится на владельцев библиотек, а не на вас. Кроме этого, это просто вопрос удобства. - person Devnook; 30.10.2013

Используйте следующие шаги, чтобы внедрить систему пользовательского поиска Google в ASP.Net MVC.

Добавить контроллер

public class SearchController : Controller  
{  
    public ActionResult Search(string SearchString)  
    {  
        ViewBag.SearchString = SearchString;  
        ViewBag.Title = "Search";  
        return View("SearchResult");  
    }  
}

Добавить форму для ввода данных пользователем

<div class="searchControl">  
 @using (Html.BeginForm("Search", "Search", FormMethod.Get))   
 {  
  <div class="input-group">  
    <input type="text" name="SearchString" class="form-control" placeholder="type something and hit enter">  
   <span class="input-group-btn">  
     <input class="btn" type="submit" value="Search!"/>  
   </span>  
  </div><!-- /input-group -->  
 }  
 </div>  

Добавить страницу результатов поиска

@{  
 Layout = "~/Views/Shared/_Layout.cshtml";  
 }  
  <div class="container"">  
    <div class="row">   
      <div class="col-md-12">   
        <script>  
          //put here your Google custom search engine script
        </script>   
      <gcse:search>  
      </gcse:search>   
    </div>   
  </div>  
</div>

Здесь завершено пошаговое шаг Статья по внедрению системы пользовательского поиска Google в MVC

person Ashish Shukla    schedule 21.01.2016
comment
Как вы можете добавить опцию автозаполнения, используя этот метод? - person okenshield; 17.06.2016