Nuxeo Server

Elasticsearch Highlights

Updated: June 18, 2018 Page Information Edit on GitHub

This page is scheduled for review and update. Check back soon for updated content!

When using the Elasticsearch Page Provider, you can use the Elasticsearch highlight feature to highlight some words in your query results.

Elasticsearch Configuration

The fields that can be highlighted have to be fulltext analyzed by Elasticsearch, so the mapping has to be modified accordingly. For example, to enable highlight on words in the content of a file, contained in the ecm:binaryText field, the mapping has been modified as such since 9.2:

    "ecm:binarytext": {
      "type": "text",
      "analyzer": "fulltext",
      "copy_to": "all_field"
    },

Enabling such fulltext analyzer on ecm:binaryText is not free in term of indexing performances and you might want to disable it if you don't need this feature by setting the ecm:binaryText mapping back to:

"ecm:binarytext" : {
   "type" : "keyword",
   "index" : false,
   "copy_to" : "all_field"
},

Using Highlights

To trigger highlighting, the highlight enricher needs to be used:

  • For example through the search endpoint with a page provider, and the list of fields that should be highlighted:
http://localhost:8080/nuxeo/api/v1/search/pp/myPageProvider/execute?ecm_fulltext=content&highlight=dc:description,ecm:binarytext&enrichers.document=highlight

In the previous example, when calling the myPageProvider page provider, the content word will be highlighted in the fields dc:description or ecm:binarytext

  • Or with the Repository.PageProvider operation with the list of fields that should be highlighted as a parameter. For example with the nuxeo-operation Nuxeo element:
<nuxeo-operation auto id="highlightOeration" op="Repository.PageProvider"
  params='{"providerName":"myPageProvider", "highlights":"ecm:binarytext", "namedParameters":{"ecm_fulltext":"[[searchTerm]]"}}'
  response= enrichers="highlight">

The results will be available in the contextParameters of the response:

"entity-type": "document",
...
"contextParameters": {
        "highlight": {
          "ecm:binarytext": [
            "here is my content please <em>highlight</em> me"
          ]
        }
      }
a month ago manonlumeau Fix NXDOC-1608 review Nuxeo Server section
History: Created by manonlumeau

We'd love to hear your thoughts!

All fields required