Solr Limitations
Liferay’s Solr implementation has limitations. Some Liferay features and APIs cannot be used when you choose Solr as the search engine. Install Elasticsearch for the best experience.
Search Results Quality
Elasticsearch-specific APIs and mappings are being leveraged in Liferay’s search functionality. Because some of these features are not included in Solr, a lower quality of search results is expected when using Solr as Liferay’s search engine.
For example, the language aware sorting behavior in Liferay relies on the collation rules present only because of the ICU Analysis Plugin from Elasticsearch. When searching in Solr some non-optimal sorting behavior is expected, especially when field values contain diacritical marks.
End-User Feature Limitations
Liferay’s Solr integration has limitations. Elasticsearch is required to use the following features:
- Liferay Objects
- Liferay Commerce
- Workflow Metrics
- Custom Filter search widget
- The Low Level Search Options widget
- Search Tuning: Customizing Search Results
- Search Tuning: Synonyms
- Content Dashboard
- Similar Results
- Concurrent and Sync Reindexing Modes
- All Liferay Enterprise Search applications, including
- Cross-Cluster Replication
- Search Experiences
- Learning to Rank
- Monitoring
Developer Feature Limitations
The following APIs are not currently supported by Liferay’s Solr connector.
- From Portal Core (Module:
portal-kernel
, Artifact:com.liferay.portal.kernel
):com.liferay.portal.kernel.search.generic.NestedQuery
com.liferay.portal.kernel.search.filter
:ComplexQueryPart
GeoBoundingBoxFilter
GeoDistanceFilter
GeoDistanceRangeFilter
GeoPolygonFilter
- From the Portal Search API (Module:
portal-search-api
, Artifact:com.liferay.portal.search.api
):com.liferay.portal.search.filter
:ComplexQueryPart
TermsSetFilter
com.liferay.portal.search.geolocation.*
com.liferay.portal.search.highlight.*
com.liferay.portal.search.query.function.*
com.liferay.portal.search.query.*
:com.liferay.portal.search.script.*
com.liferay.portal.search.significance.*
com.liferay.portal.search.sort.*
: onlySort
,FieldSort
, andScoreSort
are supported
- Portal Search Engine Adapter API (Module:
portal-search-engine-adapter-api
, Artifact:com.liferay.portal.search.engine.adapter.api
)com.liferay.portal.search.engine.adapter.cluster.*
com.liferay.portal.search.engine.adapter.document.UpdateByQueryDocumentRequest
com.liferay.portal.search.engine.adapter.index.*
: onlyRefreshIndexRequest
is supportedcom.liferay.portal.search.engine.adapter.search.*
:MultisearchSearchRequest
SuggestSearchRequest
com.liferay.portal.search.engine.adapter.snapshot.*
Liferay Commerce requires the TermsSetFilter
implementation which is only available in the Elasticsearch connector.