Rövid útmutató: A Bing Custom Search ügyfélkódtár használata
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos útmutatásért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.
Ismerkedés a C# Bing Custom Search ügyfélkódtárával. Az alábbi lépéseket követve telepítse a csomagot, és próbálja ki az alapműveletek példakódját. A Bing Custom Search API lehetővé teszi, hogy személyre szabott, hirdetésmentes keresési élményeket hozzon létre a fontos témákhoz. A minta forráskódja a GitHubon található.
Használja a C# Bing Custom Search ügyfélkódtárát a következő célokra:
- Keresse meg a keresési eredményeket az interneten a Bing Custom Search-példányban.
Referenciadokumentáció | Kódtár forráskódja | Csomag (NuGet) | Minták
Előfeltételek
- Egy Bing Custom Search-példány. További információ : Rövid útmutató: Az első Bing Custom Search-példány létrehozása .
- Microsoft .NET Core
- A Visual Studio 2017 vagy újabb verzióinak bármely kiadása
- Linux/MacOS rendszer esetében az alkalmazás a Monóval futtatható.
- A Bing Custom Search NuGet-csomag.
- A Visual Studióban Megoldáskezelő kattintson a jobb gombbal a projektre, és válassza a Menü NuGet-csomagok kezelése parancsát. Telepítse az
Microsoft.Azure.CognitiveServices.Search.CustomSearch
csomagot. A NuGet Custom Search csomag telepítésekor a következő szerelvények is települnek:- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
- A Visual Studióban Megoldáskezelő kattintson a jobb gombbal a projektre, és válassza a Menü NuGet-csomagok kezelése parancsát. Telepítse az
Azure-erőforrás létrehozása
Kezdje el használni a Bing Custom Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Custom Search-erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
Többszolgáltatásos erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás létrehozása és inicializálása
Hozzon létre egy új C#-konzolalkalmazást a Visual Studióban. Ez után adja hozzá a projekthez az alábbi csomagokat.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.CustomSearch;
Az alkalmazás fő módszerében példányosíthatja a keresési ügyfelet az API-kulccsal.
var client = new CustomSearchAPI(new ApiKeyServiceClientCredentials("YOUR-SUBSCRIPTION-KEY"));
A keresési kérelem elküldése és válasz fogadása
Küldjön egy keresési lekérdezést az ügyfél metódusával
SearchAsync()
, és mentse a választ. Mindenképpen cserélje le az azonosítótYOUR-CUSTOM-CONFIG-ID
a példány konfigurációs azonosítójára (az azonosítót a Bing Custom Search portálon találja). Ez a példa az "Xbox" kifejezésre keres.// This will look up a single query (Xbox). var webData = client.CustomInstance.SearchAsync(query: "Xbox", customConfig: Int32.Parse("YOUR-CUSTOM-CONFIG-ID")).Result;
A
SearchAsync()
metódus egyWebData
objektumot ad vissza. Használja az objektumot a talált elemekenWebPages
keresztüli iteráláshoz. Ez a kód megtalálja az első weboldal eredményt, és megjeleníti a weboldalName
ésURL
tulajdonságát.if (webData?.WebPages?.Value?.Count > 0) { // find the first web page var firstWebPagesResult = webData.WebPages.Value.FirstOrDefault(); if (firstWebPagesResult != null) { Console.WriteLine("Number of webpage results {0}", webData.WebPages.Value.Count); Console.WriteLine("First web page name: {0} ", firstWebPagesResult.Name); Console.WriteLine("First web page URL: {0} ", firstWebPagesResult.Url); } else { Console.WriteLine("Couldn't find web results!"); } } else { Console.WriteLine("Didn't see any Web data.."); }
Következő lépések
Ismerkedés a Java Bing Custom Search ügyfélkódtárával. Az alábbi lépéseket követve telepítse a csomagot, és próbálja ki az alapműveletek példakódját. A Bing Custom Search API lehetővé teszi, hogy személyre szabott, hirdetésmentes keresési élményeket hozzon létre a fontos témákhoz. A minta forráskódja a GitHubon található
A Bing Custom Search Java-ügyfélkódtárával:
- Keresse meg a keresési eredményeket az interneten a Bing Custom Search-példányban.
Referenciadokumentáció | Kódtár forráskódja | Összetevő (Maven) | Minták
Előfeltételek
- Azure-előfizetés – Hozzon létre egyet ingyen.
- A Java Development Kit (JDK) aktuális verziója.
- A Gradle buildelési eszköz vagy egy másik függőségkezelő.
- Egy Bing Custom Search-példány. További információ : Rövid útmutató: Az első Bing Custom Search-példány létrehozása .
Azure-erőforrás létrehozása
Kezdje el használni a Bing Custom Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Custom Search-erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
Többszolgáltatásos erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Miután lekért egy kulcsot az erőforrásból, hozzon létre egy környezeti változót a kulcshoz.AZURE_BING_CUSTOM_SEARCH_API_KEY
Új Gradle-projekt létrehozása
Tipp
Ha nem a Gradle-t használja, a Maven Központi Adattárban megtalálhatja a többi függőségkezelő ügyfélkódtárának adatait.
Egy konzolablakban (például cmd, PowerShell vagy Bash) hozzon létre egy új könyvtárat az alkalmazáshoz, és navigáljon hozzá.
mkdir myapp && cd myapp
Futtassa a gradle init
parancsot a munkakönyvtárból. Ez a parancs alapvető buildfájlokat hoz létre a Gradle-hez, beleértve egy build.gradle.kts fájlt, amelyet futásidőben használnak az alkalmazás konfigurálásához.
gradle init --type basic
Amikor a rendszer kéri, hogy válasszon egy DSL-t, válassza a Kotlin lehetőséget.
Az ügyfélkódtár telepítése
Keresse meg a build.gradle.kts fájlt, és nyissa meg a kívánt IDE- vagy szövegszerkesztővel. Ezután másolja ezt a buildkonfigurációt. Ügyeljen arra, hogy az ügyfélkódtárat a következő alá dependencies
foglalja:
plugins {
java
application
}
application {
mainClassName = "main.java.BingCustomSearchSample"
}
repositories {
mavenCentral()
}
dependencies {
compile("org.slf4j:slf4j-simple:1.7.25")
compile("com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customsearch:1.0.2")
}
Hozzon létre egy mappát a mintaalkalmazáshoz. Futtassa a következő parancsot a munkakönyvtárban:
mkdir src/main/java
Lépjen az új mappára, és hozzon létre egy BingCustomSearchSample.java nevű fájlt. Nyissa meg, és adja hozzá a következő import
utasításokat:
package main.java;
import com.microsoft.azure.cognitiveservices.search.customsearch.BingCustomSearchAPI;
import com.microsoft.azure.cognitiveservices.search.customsearch.BingCustomSearchManager;
import com.microsoft.azure.cognitiveservices.search.customsearch.models.SearchResponse;
import com.microsoft.azure.cognitiveservices.search.customsearch.models.WebPage;
Hozzon létre egy nevű osztályt BingCustomSearchSample
public class BingCustomSearchSample {
}
Az osztályban hozzon létre egy metódust main
és egy változót az erőforrás kulcsához. Ha az alkalmazás elindítása után hozta létre a környezeti változót, zárja be és nyissa meg újra a szerkesztőt, az IDE-t vagy az azt futtató rendszerhéjat a változó eléréséhez. A metódusokat később fogja meghatározni.
public static void main(String[] args) {
try {
// Set the BING_CUSTOM_SEARCH_SUBSCRIPTION_KEY and AZURE_BING_SAMPLES_CUSTOM_CONFIG_ID environment variables,
// then reopen your command prompt or IDE. If not, you may get an API key not found exception.
final String subscriptionKey = System.getenv("BING_CUSTOM_SEARCH_SUBSCRIPTION_KEY");
// If you do not have a customConfigId, you can also use 1 as your value when setting your environment variable.
final String customConfigId = System.getenv("AZURE_BING_SAMPLES_CUSTOM_CONFIG_ID");
BingCustomSearchAPI client = BingCustomSearchManager.authenticate(subscriptionKey);
runSample(client, customConfigId);
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
Objektummodell
A Bing Custom Search-ügyfél egy BingCustomSearchAPI objektum, amely a BingCustomSearchManager objektum hitelesítési() metódusából jött létre. Keresési kérelmet az ügyfél BingCustomInstances.search() metódusával küldhet.
Az API-válasz egy SearchResponse objektum, amely információkat tartalmaz a keresési lekérdezésről és a keresési eredményekről.
Kódpéldák
Ezek a kódrészletek bemutatják, hogyan végezheti el a következő feladatokat a Java Bing Custom Search ügyfélkódtárával:
Az ügyfél hitelesítése
A fő metódusnak tartalmaznia kell egy BingCustomSearchManager objektumot, amely felveszi a kulcsot, és meghívja annak metódusát authenticate()
.
BingCustomSearchAPI client = BingCustomSearchManager.authenticate(subscriptionKey);
Keresési eredmények lekérése az egyéni keresési példányból
Az ügyfél BingCustomInstances.search() függvényével keresési lekérdezést küldhet az egyéni példánynak. Állítsa a withCustomConfig
értéket az egyéni konfigurációazonosítóra, vagy az alapértelmezett értékre 1
. Miután kapott egy választ az API-tól, ellenőrizze, hogy találhatók-e keresési eredmények. Ha igen, kérje le az első találatot a válasz függvényének webPages().value().get()
meghívásával, majd nyomtassa ki az eredmény nevét és URL-címét.
public static boolean runSample(BingCustomSearchAPI client, String customConfigId) {
try {
// This will search for "Xbox" using Bing Custom Search
//and print out name and url for the first web page in the results list
System.out.println("Searching for Query: \"Xbox\"");
SearchResponse webData = client.bingCustomInstances().search()
.withCustomConfig(customConfigId != null ? Long.valueOf(customConfigId) : 0)
.withQuery("Xbox")
.withMarket("en-us")
.execute();
if (webData != null && webData.webPages() != null && webData.webPages().value().size() > 0)
{
// find the first web page
WebPage firstWebPagesResult = webData.webPages().value().get(0);
if (firstWebPagesResult != null) {
System.out.println(String.format("Webpage Results#%d", webData.webPages().value().size()));
System.out.println(String.format("First web page name: %s ", firstWebPagesResult.name()));
System.out.println(String.format("First web page URL: %s ", firstWebPagesResult.url()));
} else {
System.out.println("Couldn't find web results!");
}
} else {
System.out.println("Didn't see any Web data..");
}
return true;
} catch (Exception f) {
System.out.println(f.getMessage());
f.printStackTrace();
}
return false;
}
Az alkalmazás futtatása
Hozza létre az alkalmazást a projekt főkönyvtárából a következő paranccsal:
gradle build
Futtassa az alkalmazást a run
következő céllal:
gradle run
Az erőforrások eltávolítása
Ha törölni és eltávolítani szeretne egy Azure AI-szolgáltatási előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.
Következő lépések
Ismerkedés a Pythonhoz készült Bing Custom Search ügyfélkódtárral. Az alábbi lépéseket követve telepítse a csomagot, és próbálja ki az alapműveletek példakódját. A Bing Custom Search API lehetővé teszi, hogy személyre szabott, hirdetésmentes keresési szolgáltatásokat hozzon létre a fontos témákhoz. A minta forráskódja a GitHubon található.
Használja a Pythonhoz készült Bing Custom Search ügyfélkódtárat a következő célokra:
- Keressen találatokat az interneten a Bing Custom Search-példányból.
Referenciadokumentáció | Kódtár forráskódja | Csomag (PyPi) | Minták
Előfeltételek
- Egy Bing Custom Search-példány. További információ : Rövid útmutató: Az első Bing Custom Search-példány létrehozása .
- Python 2.x vagy 3.x
- A Pythonhoz készült Bing Custom Search SDK
Azure-erőforrás létrehozása
Kezdje el használni a Bing Custom Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Custom Search-erőforrás
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős tarifacsomagra éles környezetben.
Többszolgáltatásos erőforrás
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
A Python-ügyfélkódtár telepítése
Telepítse a Bing Custom Search ügyfélkódtárat a következő paranccsal.
python -m pip install azure-cognitiveservices-search-customsearch
Új alkalmazás létrehozása
Hozzon létre egy új Python-fájlt a kedvenc szerkesztőjében vagy ide-jében, és adja hozzá a következő importálásokat.
from azure.cognitiveservices.search.customsearch import CustomSearchClient
from msrest.authentication import CognitiveServicesCredentials
Keresési ügyfél létrehozása és kérés küldése
Hozzon létre egy változót az előfizetői azonosítóhoz és a végponthoz.
subscription_key = 'your-subscription-key' endpoint = 'your-endpoint'
Hozzon létre egy példányt a-ból
CustomSearchClient
egyCognitiveServicesCredentials
objektummal az előfizetési kulccsal.client = CustomSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Küldjön egy keresési kérést a következővel:
client.custom_instance.search()
. Fűzze hozzá a keresési kifejezést aquery
paraméterhez, és állítsa becustom_config
az egyéni konfigurációs azonosítót a keresési példány használatához. Az azonosítóját a Bing Custom Search portálon, az Éles környezet lapra kattintva szerezheti be.web_data = client.custom_instance.search(query="xbox", custom_config="your-configuration-id")
A keresési eredmények megtekintése
Ha talált találatokat a weblapon, kérje le az elsőt, és nyomtassa ki a keresett weblap nevét, URL-címét és összes weblapját.
if web_data.web_pages.value:
first_web_result = web_data.web_pages.value[0]
print("Web Pages result count: {}".format(len(web_data.web_pages.value)))
print("First Web Page name: {}".format(first_web_result.name))
print("First Web Page url: {}".format(first_web_result.url))
else:
print("Didn't see any web data..")