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.

See Installing a Search Engine to learn about end user features that are not compatible with Solr.

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.

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.*: only Sort,FieldSort, and ScoreSort 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.*: only RefreshIndexRequest is supported
    • com.liferay.portal.search.engine.adapter.search.*:
      • MultisearchSearchRequest
      • SuggestSearchRequest
    • com.liferay.portal.search.engine.adapter.snapshot.*
note

Liferay Commerce requires the TermsSetFilter implementation which is only available in the Elasticsearch connector.

Capabilities

Product

Contact Us

Connect

Powered by Liferay
© 2024 Liferay Inc. All Rights Reserved • Privacy Policy