[xwiki/xwiki-platform] 1253ca: XWIKI-22958: The page picker is very slow on large...
Branch: refs/heads/master Home: https://github.com/xwiki/xwiki-platform Commit: 1253cad96bb1d55b014bf4f084cf9f75ca36858c https://github.com/xwiki/xwiki-platform/commit/1253cad96bb1d55b014bf4f084cf9... Author: Michael Hamann <[email protected]> Date: 2025-06-17 (Tue, 17 Jun 2025) Changed paths: M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/pom.xml M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/BaseSearchResult.java A xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/DatabaseKeywordSearchSource.java A xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/DefaultKeywordSearchSource.java A xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/KeywordSearchOptions.java A xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/KeywordSearchScope.java A xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/KeywordSearchSource.java M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/spaces/SpaceSearchResourceImpl.java M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/wikis/WikiSearchResourceImpl.java M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/resources/META-INF/components.txt M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-test/xwiki-platform-rest-test-tests/pom.xml M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-test/xwiki-platform-rest-test-tests/src/test/it/org/xwiki/rest/test/SpacesResourceIT.java M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-test/xwiki-platform-rest-test-tests/src/test/it/org/xwiki/rest/test/WikisResourceIT.java M xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/pom.xml M xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/src/main/java/org/xwiki/search/solr/internal/rest/SOLRSearchSource.java A xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/src/main/java/org/xwiki/search/solr/internal/rest/SearchResultConverter.java A xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/src/main/java/org/xwiki/search/solr/internal/rest/SolrDefaultKeywordSearchSource.java A xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/src/main/java/org/xwiki/search/solr/internal/rest/SolrKeywordSearchSource.java M xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/src/main/resources/META-INF/components.txt A xwiki-platform-core/xwiki-platform-search/xwiki-platform-search-solr/xwiki-platform-search-solr-rest/src/test/java/org/xwiki/search/solr/internal/rest/SolrKeywordSearchSourceTest.java M xwiki-platform-tools/xwiki-platform-tool-configuration-resources/src/main/resources/xwiki.properties.vm Log Message: ----------- XWIKI-22958: The page picker is very slow on large wikis (#3964) * Change the wiki and space search API to use Solr by default to avoid slow database queries. * Introduce a new (internal) role for keyword search with two implementations (database and solr) that can be changed based on a new configuration option to allow switching back to the database implementation. * Introduce a parameter object to avoid having methods with a huge number of parameters. * In the Solr-based keyword search in the `xwiki-platform-search-solr-rest` module. * Display hidden documents according to user preferences. * Use wildcard queries carefully to improve matching. * Match the full document reference when provided. * Support order parameters where possible. * Display hidden documents according to user preferences. * Use the "locales" field for locale filtering that should match the previous behavior to return the main document when no translation in the requested locale exists. * Return the last modified documents when the query is empty. * Make the existing code for transforming Solr results into search result objects re-usable and re-use it. * Clean up the code to reduce Checkstyle violations, remove the global Checkstyle exclude for BaseSearchResult. * Update tests: * Adjust tests to wait for Solr indexing. * Update test to expect that searching by space returns results again. * Execute integration tests both for the database and the Solr backend by setting system properties to change the backend on the fly. * Fix the space search test by creating a space with a unique name. To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-platform/settings/notifications
participants (1)
-
XWiki Notifications