Recently Updated is empty and search is broken due to LuceneMapperNotFoundException
Problem
The Recently Updated Macro
is empty even after How to Rebuild the Content Indexes From Scratch on Confluence Server. Searching returns a System Error page with the following stack trace:
com.atlassian.confluence.search.v2.lucene.LuceneMapperNotFoundException: A lucene mapper could not be found to map an object of type: com.atlassian.confluence.search.v2.SearchQuery and key: textField
at com.atlassian.confluence.search.v2.lucene.DelegatingLuceneSearchMapper.convertToLuceneQuery(DelegatingLuceneSearchMapper.java:28)
at com.atlassian.confluence.search.actions.SearchSiteAction.validate(SearchSiteAction.java:157)
at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:44)
at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
...
Each time Confluence restarts, this warning appears in the log:
2010-08-25 22:21:17,428 WARN [main] [atlassian.plugin.manager.DefaultPluginManager] addPlugins System plugin is disabled: confluence.search.mappers.lucene
The following appears in the atlassian-confluence.log
:
2010-08-25 22:29:58,964 WARN [http-8331-1] [v2.lucene.compatibility.V2SearchSmartListManager] getListQueryResults Could not perform search produced by ListQueryToSearchConverter.
Cause
The system plugin that handles the index mapping (confluence.search.mappers.lucene
) is disabled. To verify, run the following query against your database:
select * from BANDANA where BANDANAKEY='plugin.manager.state.Map';
This will return a value like:
<map>
...
<entry>
<string>confluence.search.mappers.lucene</string>
<boolean>false</boolean>
</entry>
...
</map>
Resolution
Always backup your data before performing any modifications to the database.
Remove the following entry from the results above and retain the rest:
<entry> <string>confluence.search.mappers.lucene</string> <boolean>false</boolean> </entry>
To perform this, use this SQL query:
update BANDANA set BANDANAVALUE='<map> <your other XML> </map>' where BANDANAKEY='plugin.manager.state.Map';
- Restart Confluence after this modification.