See
PublishedAPI for packages intended to be used by Plugin and Contrib authors, or
browse all packages.
See also
Developing plugins,
Developer's Bible,
Technical Overview
internal package
Foswiki::Plugins::SolrPlugin::Search
This is the central service for all solr searches. Any search that you
want to perform must go through this service. Most importantly this
service makes sure that Foswiki's access control lists are being evaluated
as part of every query.
ClassMethod
new($session) → $core
constructor for a Core object
handleSOLRSEARCH($params, $web, $topic) → $result
handles the
%SOLRSEARCH
macro
handles the
%SOLRFORMAT
macro
formats the search results fetched from the solr backend
renders a result pager
Deprecated: this function is rarely of use. any search result paging is done
via the Solr
JavaScript interface instead
getACLFilter() → $acl
returns a solr filter for the current user
restSOLRPROXY($web, $topic) →
implements the
proxy
REST endpoint. This basically is the most
unfiltered access to the Solr backend, only adding ACLs to any
query.
restSOLRSEARCH($web, $topic)
getFirstUrl($resonse) → $url
restSOLRAUTOSUGGEST($web, $topic)
implements the
autosuggest
REST handler
restSOLRAUTOCOMPLETE($web, $topic)
implements the
autocomplete
REST handler
restSOLRSIMILAR($web, $topic)
implements the
similar
REST handler
handleSOLRSIMILAR($params, $web, $topic) → $result
implements the
%SOLRSIMILAR
macro
doSimilar($query, $params) → $response
doSearch($query, $params) → $response
solrSearch($query, $params) → $response
low-level solr search request
writeEvent($query)
write a log event of the search query
getFacetParams($params, $solrParams) → \%facets
currentPage($response) → $int
replaces buggy Data::Page interface
lastPage()
entriesPerPage()
totalEntries()
getQueryTime()
getHighlights()
getMoreLikeThis()
getCorrection()
getFacets()
getInterestingTerms()
getGroups()
parseFacetSpec()
handleSOLRSCRIPTURL()
getAjaxScriptUrl()
urlEncode()
getScriptUrl($web, $topic, $params, $response, $start) → $url
parseFilter($filter) → @filter
iterate($params, $callback)
performs a solr search and iterates over it
iterateFacet($field, $callback, $ignoreAccess)
performs a facet search and iterates over it
getListOfTopics($web) → @topics
returns the list of all topics of a web using a solr iteration
getListOfWebs() → @webs
returns all webs using a solr search