REST API-specificatie voor zoeken

Hieronder vindt u een beschrijving van de API-aanroep voor het doorzoeken van IBM® WebSphere Portal Express. U kunt WebSphere Portal Express doorzoeken om te zoeken naar content die een specifieke tekstreeks in zijn titel of lopende tekst bevat, of naar content die gecodeerd is met een specifieke tag.

Contextpaden

Om verschillende verificatiemechanismen mogelijk te maken, zijn er voor deze API diverse contextpaden beschikbaar:
Contextpad Verificatie
/PORTAL_CONTEXT/contenthandler/searchfeed/search Geen
/PORTAL_CONTEXT/mycontenthandler/searchfeed/search Standaard

Parameters

De volgorde van de parameters in de aanvragen doet niet ter zake. De namen van parameters zijn hoofdlettergevoelig; ze moeten precies met het gedocumenteerde hoofdlettergebruik worden ingevoerd. Onbekende of niet-ondersteunde parameters die in de opdracht worden opgegeven, worden genegeerd.

De opdracht moet een standaard HTTP GET- of POST-opdracht zijn.
  • Als de opdracht GET is, wordt de URL samengesteld door de hostnaam, de poort en het pad van de zoekserver te combineren met een verzameling naam/waarde-paren (invoerparameters), gescheiden door &-tekens. Elke parameterwaarde die in een GET-opdracht staat, moet URL-escaped zijn.
  • Voor een POST-opdracht wordt de URL samengesteld door de hostnaam, poort en het pad van de zoekserver te combineren; een verzameling naam/waarde-paren (invoerparameters) worden aan de opdracht doorgegeven als parameters.
Naam Beschrijving Commentaar
locale
  • Locale van opdrachtclient
  • Elk bericht dat wordt teruggestuurd, is in de locale van de client
  • Beschikbare bereiken, collecties, titels en beschrijvingen zijn in de clientlocale
  • Sorteermethode kan door de client worden bepaald
  • Alle aanvullende informatie in de zoekresultaten die locale-afhankelijk is, zoals beschrijvingen
Geeft aan welke taal er moet worden gebruikt bij het ontleden van de zoekopdracht. Zie bijvoorbeeld ISO-639 en ISO-3166 voor geldige waarden bijvoorbeeld en_US. Deze parameter is optioneel. Als deze parameter wordt opgegeven, wordt het juiste woordenboek voor de opgegeven taal gebruikt.
Opmerking: Het woordenboek voor de opgegeven taal moet ingeschakeld zijn, anders werkt deze parameter niet.
query  
  • Tekst waarnaar wordt gezocht. Levert een lijst van resultaten op met de opgegeven tekst in de titel, de beschrijving of de lopende tekst.
  • Codering van de tekenreeks.
  • Standaard worden spaties behandeld als OR-operators.
De volgende operators worden ondersteund:
AND or &&
Er wordt gezocht naar items die beide woorden bevatten. Bijvoorbeeld: query=red%20AND%20test levert items op waarin de woorden red en test allebei voorkomen. AND is de standaardoperator.
NOT or !
Het woord dat op de operator volgt, wordt uitgesloten uit de zoekopdracht. Bijvoorbeeld: query=test%20NOT%20red levert items op die wel het woord test bevatten, maar niet het woord red.
OR
Er wordt gezocht naar items die één of beide woorden bevatten. Bijvoorbeeld: query=test%20OR%20red.

Als u wilt zoeken naar een woordcombinatie, plaatst u die woordcombinatie tussen aanhalingstekens (" ").

+
Het plusteken geeft aan dat het woord aanwezig moet zijn in de resultaten. Bijvoorbeeld: query=+test%20red levert alleen items op die het woord test bevatten en een aantal die bovendien het woord red bevatten, maar geen items die alleen het woord red bevatten.
?
Gebruik een vraagteken als jokerteken voor één teken. Bijvoorbeeld: query=te%3Ft levert items op die de woorden test, text, tent en bevatten, en alle andere items met woorden die met te beginnen.
-:
Een streepje voorkomt dat een bepaald woord wordt geretourneerd. Deze operator is vergelijkbaar met NOT. Bijvoorbeeld: query=test%20-red levert items op die wel het woord test bevatten, maar niet het woord red.
Opmerking: Zoeken met jokertekens is toegestaan, maar zoeken met alléén het jokerteken (*) niet.

Meer informatie over de ondersteunde operators vindt u in het onderwerp Zoeken.

queryLang Taal van de queryreeks Geeft aan welke taal er moet worden gebruikt bij het ontleden van de zoekparameter. Zie bijvoorbeeld ISO-639 en ISO-3166 voor geldige waarden, bijvoorbeeld en_US. Deze parameter is optioneel. Als deze parameter wordt opgegeven, wordt het juiste woordenboek voor de opgegeven taal gebruikt.
Opmerking: Het woordenboek voor de opgegeven taal moet ingeschakeld zijn, anders werkt deze parameter niet.
start Positie ten opzichte van eerste resultaat dat moet worden afgebeeld Bepaalt de positie ten opzichte van het eerste resultaat in de resultaatset. Deze parameter wordt genegeerd als er een paginaparameter is opgegeven. De waarden beginnen vanaf 0. De standaardwaarde is 0. Als de opgegeven waarde negatief is, wordt standaard de waarde 0 gebruikt. Is de opgegeven waarde groter dan het aantal resultaten, dan worden er geen resultaten afgebeeld.
page Paginanummer Geeft aan welke pagina er moet worden afgebeeld. De standaardwaarde is 1, hetgeen betekent dat de eerste pagina wordt afgebeeld.
pageSize Aantal gewenste resultaten voor een enkele opdracht Het aantal items dat per pagina moet worden afgebeeld. De minimumwaarde is 0 (bij negatieve waarden wordt standaard 0 gebruikt). De standaardwaarde is 10. De maximumwaarde die u kunt opgeven, is 150.
scope ID van het bereik dat moet worden doorzocht. De lijst van geldige bereiken is beschikbaar in de Scopes-API. Standaard worden alle bereiken doorzocht.
sortKey De sleutel waarmee de sorteervolgorde van de zoekresultaten wordt bepaald. De volgende waarden worden ondersteund: date en relevance. Een geldige waarde voor deze parameter is een van deze waarden, of de naam van een ander sorteerbaar veld.
sortOrder Bepaalt of de resultaten oplopend of aflopend worden gesorteerd. De enige geldige waarden zijn asc en desc.
constraint Maakt het mogelijk om de zoekresultaten te beperken op grond van de opgegeven criteria. De opgegeven criteria. Meer informatie vindt u in de onderwerpen over voorwaarden.
facet Bepaalt welke facetten er voor de query worden geretourneerd, in aanvulling op de zoekresultaten. Aanvulling op de zoekresultaten. Zie voor meer informatie Facets-API.
index Bepaalt welke index (collectie) er voor de zoekopdracht moet worden gebruikt. Zie voor meer informatie Indexes-API.

Voorbeelden

/searchfeed/search?queryLang=en&locale=en&resultLang=en&query=development&scope=1345374377545&start=0&results=10 Search query with query text = development.

Responsindeling

De response is Atom-compatibel. De volgende tabel beschrijft het belang van de elementen die in de respons worden geretourneerd:
Sectie Opmerkingen
/feed Het containerelement voor metagegevens en gegevens, gekoppeld aan de feed met zoekresultaten.
/feed/title Beschrijvende titel van de feed.
/feed/link[@href] Verwijzing vanuit de feed naar een webresource. Zie Paging en archivering van feeds voor meer informatie.
/feed/link[@rel= "next"|"previous"|"first"|"last"] De links first, last, next en previous zijn inbegrepen, ter ondersteuning.
/feed/author/name Beschrijving van de feedgenerator.
/feed/id Permanent UUID voor de feed.
/feed/updated Datum en tijd waarop de query is opgegeven. De waarde voldoet aan de datum/tijd-productie in RFC3339.
/feed/openSearch:totalResults Het totaal aantal resultaten voor de ingediende query.
/feed/openSearch:Query Bevat informatie over de query die door de gebruiker is ingediend.
/feed/openSearch:Query[@role] De waarde van het kenmerk role is request.
/feed/openSearch:Query[@searchTerms] Geeft aan welke gebruiker querytermen heeft ingediend.
/feed/openSearch:startIndex Initieel aantal zoekresultaten dat door de feed is teruggestuurd.
/feed/openSearch:itemsPerPage Aantal zoekresultaten dat in deze feed is teruggestuurd.
/feed/entry Bevat de informatie voor één zoekresultaat.
/feed/entry/category Geeft informatie over een categorie (vaak corresponderend met een facet) die bij een vermelding (entry) hoort.
/feed/entry/category@term Een tekenreeks die aangeeft tot welke categorie de vermelding behoort.
/feed/entry/category@scheme Een IRI die een categoriseringsschema aangeeft.
/feed/entry/title Een tekstconstruct met een voor mensen leesbare titel voor de vermelding.
/feed/entry/title[@type] Geeft aan of de tekstconstruct text, html of xhtml is. Als er niets anders is aangegeven, is de tekstconstruct text.
/feed/entry/link Definieert een verwijzing naar de resource met zoekresultaten.
/feed/entry/link[@rel] Geeft het type linkrelatie aan. Als dit niet aanwezig is, is het type linkrelatie alternate.
/feed/entry/link[@href] URI-link naar document.
/feed/entry/link[@type] Contenttype van de URI-link naar het document is een aanbevolen mediatype.
/feed/entry/relevance:score Geeft een relatieve beoordeling van de relevatie van een bepaald zoekresultaat ten aanzien van de zoekquery.
/feed/entry/updated De datum waarop het document voor het laatst is gewijzigd. De waarde voldoet aan de datum/tijd-productie in RFC3339.
/feed/entry/id Uniek ID van het document.
/feed/entry/summary Tekstconstruct met een korte samenvatting, een overzicht of een uittreksel van een item.
/feed/entry/summary[@type] Geeft aan of de tekstconstruct text, html of xhtml is. Als er niets anders is aangegeven, is de tekstconstruct text.
/feed/entry/author Een persoonsconstruct die de auteur van het item of de feed aangeeft.
/feed/entry/author/name De voor mensen leesbare naam voor de persoon.
/feed/entry/author/uri Het bij de persoon behorende ID.
/feed/entry/author/email Het e-mailadres van de persoon. Afhankelijk van de configuratie-instellingen van IBM Connections kan het zijn dat deze waarde niet wordt teruggestuurd als onderdeel van de feed.
/feed/entry/wplc:field Dit element wordt gebruikt om de naam en waarde van een veld in een document te vertegenwoordigen. Het kenmerk id vertegenwoordigt de naam van het veld. De lopende tekst (body) van het element vertegenwoordigt de waarde van het veld. Als er met de parameter includeField meer velden zijn opgegeven, worden die allemaal opgenomen in de zoekresultaten.
/feed/ibmsc:facets Meer informatie vindt u in Facetten.
  • De namespace in de tabel is http://www.w3.org/2005/Atom, tenzij anders aangegeven.
  • Het ID openSearch wordt gebruikt om te verwijzen naar de naamruimte http://a9.com/-/spec/opensearch/1.1.
  • Het ID relevance wordt gebruikt om te verwijzen naar de naamruimte http://a9.com/-/opensearch/extensions/relevance/1.0/.
  • Het ID ibmsc wordt gebruikt om te verwijzen naar de naamruimte http://www.ibm.com/search/content/2010.
  • Het ID spelling wordt gebruikt om te verwijzen naar de naamruimte http://a9.com/-/opensearch/extensions/spelling/1.0/.

Voorbeeld

Om in IBM WebSphere Portal Express te zoeken naar alle content die de tekst Development bevat, verstuurt u de volgende HTTP-opdracht:
 > GET /searchfeed/search?query=development&scope=com.ibm.lotus.search.ALL_SOURCES HTTP/1.1
De server stuurt de volgende content terug:
    <?xml version="1.0" encoding="UTF-8"?>
       <atom:feed xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
           xmlns:xhtml="http://www.w3.org/1999/xhtml"
           xmlns:wplc="http://www.ibm.com/wplc/atom/1.0"
           xmlns:atom="http://www.w3.org/2005/Atom">
           <atom:title>Search results for query "development" on scope "com.ibm.lotus.search.ALL_SOURCES"</atom:title>
           <atom:link href="searchfeed:search" rel="self" type="application/atom+xml"/>
           <atom:author>
               <atom:name>Enterprise Search API Web Service.</atom:name>
           </atom:author>
           <atom:id>searchfeed:search</atom:id>
           <atom:category term="com.ibm.lotus.search.ALL_SOURCES" label="com.ibm.lotus.search.ALL_SOURCES"/>
           <atom:updated>2013-01-14T08:35:27.482Z</atom:updated>
           <opensearch:totalResults exact="true">412</opensearch:totalResults>
           <opensearch:Query role="request" searchTerms="development"/>
           <opensearch:startIndex>0</opensearch:startIndex>
           <opensearch:itemsPerPage>10</opensearch:itemsPerPage>

           <atom:entry>
              <atom:id>ResourceinjectionusingRationalApplicationDeveloperv7.5</atom:id>
              <atom:title type="text/html">Resource injection using Rational Application Developer v7.5</atom:title>
              <atom:author>
                 <atom:uri>Dan_Haim</atom:uri>
                 <atom:name>Dan Haim</atom:name>
              </atom:author>
              <atom:author>
                 <atom:uri>James_Chung</atom:uri>
                 <atom:name>James Chung</atom:name>
              </atom:author>
              <atom:link href="http://www.ibm.com/developerworks/rational/library/10/resourceinjectionwithrad7-5/index.html"/>
              <atom:category term="ContentSourceType/default" scheme="com.ibm.wplc.taxonomy://feature_taxonomy" label="Document"/>
              <opensearch:relevance>100.0</opensearch:relevance>
              <atom:updated>2010-06-07T06:49:09.000Z</atom:updated>
              <atom:summary type="html"><![CDATA[<Strong>Summary:</Strong> Java&#8482; platf....]]></atom:summary>
              <atom:link href="/wps/images/icons/Document.gif" rel="icon"/>
              <wplc:field id="name">95c189804d4268bf8d49ede9170f1e3d</wplc:field>
	        <wplc:field id="contentSourceType">Seedlist</wplc:field>
	       <wplc:field id="defaultcontext">/poc</wplc:field>
              <wplc:field id="effectivedate">1236246335000</wplc:field>
	         <wplc:field id="modifier">Replicator</wplc:field>
	         <wplc:field id="securecontext">/mypoc</wplc:field>
	         <wplc:field id="search_controllable_uuid">2c1e7b59-b465-49da-bc99-5aee3c00932b</wplc:field>
	         <wplc:field id="locale">en</wplc:field>
	         <wplc:field id="RatingAverage">4</wplc:field>
	         <wplc:field id="author_info">Dan_Haim<![CDATA[<Dan Haim<]]></wplc:field>
	         <wplc:field id="author_info">James_Chung<![CDATA[<James Chung<]]></wplc:field>
	         <wplc:field id="acls">public</wplc:field>
	         <wplc:field id="authoringtemplate">Blog Home</wplc:field>
	         <wplc:field id="popularity">7811</wplc:field>
	         <wplc:field id="security_ids">Z6QReDeIPO2JIT62BDIJM8CKHDAJMG6P1P2MM8C3BEIJMK61BPAMPCCG1CIJP8623</wplc:field>
	         <wplc:field id="difficulty">Advanced</wplc:field>
	         <wplc:field id="contentPath">/Blog Solo Template v70/Blog/Home/95c189804d4268bf8d49ede9170f1e3d</wplc:field>
	         <wplc:field id="category">Rational</wplc:field>
	     </atom:entry>
	      ...
	</atom:feed>