blob: ad7a11c7f4ccbf190f92b532362b7ed23945534a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
.. _searchadapters:
.. currentmodule:: sphinxcontrib.websupport.search
Search Adapters
===============
To create a custom search adapter you will need to subclass the
:class:`BaseSearch` class. Then create an instance of the new class and pass
that as the *search* keyword argument when you create the :class:`~.WebSupport`
object::
support = WebSupport(srcdir=srcdir,
builddir=builddir,
search=MySearch())
For more information about creating a custom search adapter, please see the
documentation of the :class:`BaseSearch` class below.
.. class:: BaseSearch
Defines an interface for search adapters.
.. versionchanged:: 1.6
BaseSearch class is moved to sphinxcontrib.websupport.search from
sphinx.websupport.search.
Methods
-------
The following methods are defined in the BaseSearch class. Some methods do not
need to be overridden, but some (:meth:`~BaseSearch.add_document` and
:meth:`~BaseSearch.handle_query`) must be overridden in your subclass. For a
working example, look at the built-in adapter for whoosh.
.. automethod:: BaseSearch.init_indexing
.. automethod:: BaseSearch.finish_indexing
.. automethod:: BaseSearch.feed
.. automethod:: BaseSearch.add_document
.. automethod:: BaseSearch.query
.. automethod:: BaseSearch.handle_query
.. automethod:: BaseSearch.extract_context
|