Package org.apache.wiki.search

## Class DefaultSearchManager.JSONSearch

- java.lang.Object
- - org.apache.wiki.search.DefaultSearchManager.JSONSearch

All Implemented Interfaces:
  `WikiAjaxServlet`

Enclosing class:
  DefaultSearchManager

    public class DefaultSearchManager.JSONSearch
    extends java.lang.Object
    implements WikiAjaxServlet

Provides a JSON AJAX API to the JSPWiki Search Engine.

### Field Summary

Fields
`static java.lang.String` `AJAX_ACTION_PAGES`
`static java.lang.String` `AJAX_ACTION_SUGGESTIONS`
`static int` `DEFAULT_MAX_RESULTS`
`int` `maxResults`

### Constructor Summary

Constructors
`JSONSearch()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.util.List<java.util.Map<java.lang.String,​java.lang.Object>>` `findPages​(java.lang.String searchString, int maxLength, Context wikiContext)` Performs a full search of pages.
`java.lang.String` `getServletMapping()`
`java.util.List<java.lang.String>` `getSuggestions​(java.lang.String wikiName, int maxLength)` Provides a list of suggestions to use for a page name.
`void` `service​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, java.lang.String actionName, java.util.List<java.lang.String> params)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### AJAX_ACTION_SUGGESTIONS

    public static final java.lang.String AJAX_ACTION_SUGGESTIONS

See Also:
  Constant Field Values

#### AJAX_ACTION_PAGES

    public static final java.lang.String AJAX_ACTION_PAGES

See Also:
  Constant Field Values

#### DEFAULT_MAX_RESULTS

    public static final int DEFAULT_MAX_RESULTS

See Also:
  Constant Field Values

#### maxResults

    public int maxResults

### Constructor Detail

#### JSONSearch

    public JSONSearch()

### Method Detail

#### getServletMapping

    public java.lang.String getServletMapping()

Specified by:
  `getServletMapping` in interface `WikiAjaxServlet`

#### service

    public void service​(javax.servlet.http.HttpServletRequest req,
                        javax.servlet.http.HttpServletResponse resp,
                        java.lang.String actionName,
                        java.util.List<java.lang.String> params)
                 throws java.io.IOException

Specified by:
  `service` in interface `WikiAjaxServlet`
Throws:
  `java.io.IOException`

#### getSuggestions

    public java.util.List<java.lang.String> getSuggestions​(java.lang.String wikiName,
                                                           int maxLength)

Provides a list of suggestions to use for a page name. Currently, the algorithm just looks into the value parameter, and returns all page names from that.

Parameters:
  `wikiName` - the page name
  `maxLength` - maximum number of suggestions
Returns:
  the suggestions

#### findPages

    public java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> findPages​(java.lang.String searchString,
                                                                                            int maxLength,
                                                                                            Context wikiContext)

Performs a full search of pages.

Parameters:
  `searchString` - The query string
  `maxLength` - How many hits to return
Returns:
  the pages found