Support for searching internal content and user profiles is provided by the Lucene open source search engine. Lucene works by periodically creating or updating an index of content, then searching against the index. Using the admin console, you can configure the search feature, including how often these indexes are updated, how the feature treats user queries and search results, and so on.
In addition to content written and published with the community's editor, the search feature also searches the following file types: .html, .rtf, .txt, .pdf, .ppt, .pptx, .doc, .docx, .odt, .ods and .odp (OpenOffice formats). The application will also search the contents of a .zip file.
Admin Console: System > Settings > Search
The indexes for content and for user information are separate from each other. That means that you can enable searching for content and user information separately (you can turn user searching off, for example). It also means that you can update the indexes separately at need, which can be more practical than updating everything at once when you need to.
Click the Update button to save a status setting.
Most of the settings you make on the Search Settings tab are designed to adjust how people experience search, although some settings impact performance.
| Setting | Description |
|---|---|
| Automatically index new content | Set to "Yes" to have content added to the search index as soon as it's published, rather than waiting for the next index update time. |
| Index update time | How often the index is updated. |
| Log search queries | Set to "Yes" to have queries logged in the database supporting your community. You can retrieve this information by querying the jiveSearch and jiveSearchCriteria tables. For example, a query can return the query terms used, how many results were returned, the ID for the user who did the search, and so on. |
| Time to keep logged search queries before deletion | How often query logs are deleted. |
| Search attachments | Set to "Yes" to broaden searches to include not only content entered through the editor, but also attachments such as PDF and other files. |
| Default search query date range | The default date range for searches. People can set this to another value when they search. |
| Default Indexer Type | The search engine uses an indexer to break down content into contituent pieces while indexing, making searches more efficient and faster. This setting specifies the default indexer to use. |
| Default search operator | A default setting used when the person doing the search doesn't specify a query string that contains its own operators (see Search Tips for on queries). For example, with a default operator of AND, a query string given as black cat will be passed to the search engine as black AND cat -- translating into a search for content with both "black" and "cat" in it. |
| Allow wildcards in search queries | Wildcards enable more powerful searches. For more on how they're used in searches, see Search Tips. |
| Group search results by thread | Discussions can include a single post and many reply messages. Set this to "Yes" to group in the results list all of the results found in a single thread (both original message and replies). |
| Spell check search query strings | Set this to "Yes" to have the UI display a message when search results might have been misspelled. The message will appear with a "Did you mean...?" link that searches for a suggested alternative. |
| Show user email addresses | Set this to "Yes" to have the content author's email address appear with their content in the results list. |
| Enable auto index optimization | Optimizing the index can make searches faster. |
Having the application regularly update the search indexes is very handy; rebuilding an index (via the Index Tasks tab) can be very time-consuming. You should only manually rebuild if you really have to; reasons for doing so are listed in the admin console.
You can improve searches for people using your community by tailoring the stop words and synonym lists to best suit your needs. For example, if you realize that people will search using slang common to your industry, you could add synonyms that associate a commonly used term with slang alternatives. A software industry example could be "programmer,developer". To add synonyms, enter a pair of words separated by a comma in the Synonyms box, then click Add Synonym.
Try to settle on your list of stop words early, before you've got a lot of content. When you change the list, you need to rebuild the search index; that can take quite a while when you've got a lot of content in the database.
| Property | Description | Values |
|---|---|---|
| blog.searchComments.enabled | Toggles whether or not comments to blog posts are returned in search results. | true (default) to enable return of comments on search; false to disable it. |
| document.searchComments.enabled | Toggles whether or not comments to documents are returned in search results. | true (default) to enable return of comments on search; false to disable it. |