Meilisearch: Weird highlight behavior

Created on 13 Jun 2020  路  1Comment  路  Source: meilisearch/MeiliSearch

I noticed a weird highlight behavior (visible on the underlining):

Capture d鈥檈虂cran 2020-06-13 a虁 10 24 56

I tested on our documentation content.

Here are the search parameters:

"q": "host"
"limit": 5
"attributesToHighlight": "*"
"attributesToCrop": "content"
"cropLength": 30

MeiliSearch response (sorry for the long output. Spoiler: only the 3rd and the 4th are correct in the JSON answer. As you can notice on the picture, the front search bar does not exactly display in the same order.):

{
    "hits": [
        {
            "objectID": "855a5d205e0e8cf8e2179b496f2a1966af07ff77",
            "hierarchy_radio_lvl0": "null",
            "hierarchy_radio_lvl1": "null",
            "hierarchy_radio_lvl2": "null",
            "hierarchy_radio_lvl3": "null",
            "hierarchy_radio_lvl4": "null",
            "hierarchy_radio_lvl5": "null",
            "hierarchy_lvl0": "馃摎 Advanced Guides",
            "hierarchy_lvl1": "Installation",
            "hierarchy_lvl2": "Download and launch",
            "hierarchy_lvl3": "null",
            "hierarchy_lvl4": "null",
            "hierarchy_lvl5": "null",
            "hierarchy_lvl6": "null",
            "content": "Data written to a Docker container is not persistent and is deleted along with the container when the latter is stopped. Docker volumes are not deleted when containers are removed. It is then recommended to share volumes between your containers and your host machine to provide persistent storage. MeiliSearch writes data to  /data.ms",
            "anchor": "download-and-launch",
            "url": "https://docs.meilisearch.com/guides/advanced_guides/installation.html#download-and-launch",
            "_formatted": {
                "objectID": "855a5d205e0e8cf8e2179b496f2a1966af07ff77",
                "hierarchy_radio_lvl0": "null",
                "hierarchy_radio_lvl1": "null",
                "hierarchy_radio_lvl2": "null",
                "hierarchy_radio_lvl3": "null",
                "hierarchy_radio_lvl4": "null",
                "hierarchy_radio_lvl5": "null",
                "hierarchy_lvl0": "馃摎 Advanced Guides",
                "hierarchy_lvl1": "Installation",
                "hierarchy_lvl2": "Download and launch",
                "hierarchy_lvl3": "null",
                "hierarchy_lvl4": "null",
                "hierarchy_lvl5": "null",
                "hierarchy_lvl6": "null",
                "content": "your containers and your h<em>ost </em>machine to provide persistent",
                "anchor": "download-and-launch",
                "url": "https://docs.meilisearch.com/guides/advanced_guides/installation.html#download-and-launch"
            }
        },
        {
            "objectID": "ce5f58ec6d6f989aad4fd6c0734779b04e99c1bb",
            "hierarchy_radio_lvl0": "null",
            "hierarchy_radio_lvl1": "null",
            "hierarchy_radio_lvl2": "null",
            "hierarchy_radio_lvl3": "null",
            "hierarchy_radio_lvl4": "null",
            "hierarchy_radio_lvl5": "null",
            "hierarchy_lvl0": "馃殌 Introduction",
            "hierarchy_lvl1": "Getting Started",
            "hierarchy_lvl2": "Download and launch",
            "hierarchy_lvl3": "null",
            "hierarchy_lvl4": "null",
            "hierarchy_lvl5": "null",
            "hierarchy_lvl6": "null",
            "content": "Data written to a Docker container is not persistent and is deleted along with the container when the latter is stopped. Docker volumes are not deleted when containers are removed. It is then recommended to share volumes between your containers and your host machine to provide persistent storage. MeiliSearch writes data to  /data.ms",
            "anchor": "download-and-launch",
            "url": "https://docs.meilisearch.com/guides/introduction/quick_start_guide.html#download-and-launch",
            "_formatted": {
                "objectID": "ce5f58ec6d6f989aad4fd6c0734779b04e99c1bb",
                "hierarchy_radio_lvl0": "null",
                "hierarchy_radio_lvl1": "null",
                "hierarchy_radio_lvl2": "null",
                "hierarchy_radio_lvl3": "null",
                "hierarchy_radio_lvl4": "null",
                "hierarchy_radio_lvl5": "null",
                "hierarchy_lvl0": "馃殌 Introduction",
                "hierarchy_lvl1": "Getting Started",
                "hierarchy_lvl2": "Download and launch",
                "hierarchy_lvl3": "null",
                "hierarchy_lvl4": "null",
                "hierarchy_lvl5": "null",
                "hierarchy_lvl6": "null",
                "content": "your containers and your h<em>ost </em>machine to provide persistent",
                "anchor": "download-and-launch",
                "url": "https://docs.meilisearch.com/guides/introduction/quick_start_guide.html#download-and-launch"
            }
        },
        {
            "objectID": "d4152438d24e3abd4c59c41f6c21dd83b79a6704",
            "hierarchy_radio_lvl0": "null",
            "hierarchy_radio_lvl1": "null",
            "hierarchy_radio_lvl2": "null",
            "hierarchy_radio_lvl3": "null",
            "hierarchy_radio_lvl4": "null",
            "hierarchy_radio_lvl5": "null",
            "hierarchy_lvl0": "馃摝 Resources",
            "hierarchy_lvl1": "Postman Collection for MeiliSearch",
            "hierarchy_lvl2": "Edit the configuration",
            "hierarchy_lvl3": "null",
            "hierarchy_lvl4": "null",
            "hierarchy_lvl5": "null",
            "hierarchy_lvl6": "null",
            "content": "And set the host URL (works for a local machine by default) and the index UID (set to  indexUID  by default)",
            "anchor": "edit-the-configuration",
            "url": "https://docs.meilisearch.com/resources/postman_collection.html#edit-the-configuration",
            "_formatted": {
                "objectID": "d4152438d24e3abd4c59c41f6c21dd83b79a6704",
                "hierarchy_radio_lvl0": "null",
                "hierarchy_radio_lvl1": "null",
                "hierarchy_radio_lvl2": "null",
                "hierarchy_radio_lvl3": "null",
                "hierarchy_radio_lvl4": "null",
                "hierarchy_radio_lvl5": "null",
                "hierarchy_lvl0": "馃摝 Resources",
                "hierarchy_lvl1": "Postman Collection for MeiliSearch",
                "hierarchy_lvl2": "Edit the configuration",
                "hierarchy_lvl3": "null",
                "hierarchy_lvl4": "null",
                "hierarchy_lvl5": "null",
                "hierarchy_lvl6": "null",
                "content": "And set the <em>host</em> URL (works for a local machine by default)",
                "anchor": "edit-the-configuration",
                "url": "https://docs.meilisearch.com/resources/postman_collection.html#edit-the-configuration"
            }
        },
        {
            "objectID": "6fe7ac5f0d5103f9ee883169a177aad0cac52ff9",
            "hierarchy_radio_lvl0": "null",
            "hierarchy_radio_lvl1": "null",
            "hierarchy_radio_lvl2": "null",
            "hierarchy_radio_lvl3": "null",
            "hierarchy_radio_lvl4": "null",
            "hierarchy_radio_lvl5": "null",
            "hierarchy_lvl0": "馃Х How to's",
            "hierarchy_lvl1": "Integrate a relevant search bar to your documentation",
            "hierarchy_lvl2": "Run a MeiliSearch Instance",
            "hierarchy_lvl3": "null",
            "hierarchy_lvl4": "null",
            "hierarchy_lvl5": "null",
            "hierarchy_lvl6": "null",
            "content": "The host URL and the API key you will provide in the next steps correspond to the credentials of this MeiliSearch instance. \nIn the example above, the host URL is  http://localhost:7700  and the API key is  myMasterKey",
            "anchor": "run-a-meilisearch-instance",
            "url": "https://docs.meilisearch.com/resources/howtos/search_bar_for_docs.html#run-a-meilisearch-instance",
            "_formatted": {
                "objectID": "6fe7ac5f0d5103f9ee883169a177aad0cac52ff9",
                "hierarchy_radio_lvl0": "null",
                "hierarchy_radio_lvl1": "null",
                "hierarchy_radio_lvl2": "null",
                "hierarchy_radio_lvl3": "null",
                "hierarchy_radio_lvl4": "null",
                "hierarchy_radio_lvl5": "null",
                "hierarchy_lvl0": "馃Х How to's",
                "hierarchy_lvl1": "Integrate a relevant search bar to your documentation",
                "hierarchy_lvl2": "Run a MeiliSearch Instance",
                "hierarchy_lvl3": "null",
                "hierarchy_lvl4": "null",
                "hierarchy_lvl5": "null",
                "hierarchy_lvl6": "null",
                "content": "The <em>host</em> URL and the API key you will provide in the next steps",
                "anchor": "run-a-meilisearch-instance",
                "url": "https://docs.meilisearch.com/resources/howtos/search_bar_for_docs.html#run-a-meilisearch-instance"
            }
        },
        {
            "objectID": "a96582f3ce4e1a58932eb42e22508fa0a07ce59c",
            "hierarchy_radio_lvl0": "null",
            "hierarchy_radio_lvl1": "null",
            "hierarchy_radio_lvl2": "null",
            "hierarchy_radio_lvl3": "null",
            "hierarchy_radio_lvl4": "null",
            "hierarchy_radio_lvl5": "null",
            "hierarchy_lvl0": "馃摎 Advanced Guides",
            "hierarchy_lvl1": "Search Parameters",
            "hierarchy_lvl2": "Attributes to Highlight",
            "hierarchy_lvl3": "null",
            "hierarchy_lvl4": "Example",
            "hierarchy_lvl5": "null",
            "hierarchy_lvl6": "null",
            "content": "The Winter Feast is Po's favorite holiday. Every year he and his father hang decorations, cook together, and serve noodle soup to the villagers. But this year  Shifu  informs Po that as Dragon Warrior, it is his duty to host the formal Winter Feast at the Jade Palace. Po is caught between his obligations as the Dragon Warrior and his family traditions: between  Shifu  and Mr. Ping",
            "anchor": "example-6",
            "url": "https://docs.meilisearch.com/guides/advanced_guides/search_parameters.html#example-6",
            "_formatted": {
                "objectID": "a96582f3ce4e1a58932eb42e22508fa0a07ce59c",
                "hierarchy_radio_lvl0": "null",
                "hierarchy_radio_lvl1": "null",
                "hierarchy_radio_lvl2": "null",
                "hierarchy_radio_lvl3": "null",
                "hierarchy_radio_lvl4": "null",
                "hierarchy_radio_lvl5": "null",
                "hierarchy_lvl0": "馃摎 Advanced Guides",
                "hierarchy_lvl1": "Search Parameters",
                "hierarchy_lvl2": "Attributes to Highlight",
                "hierarchy_lvl3": "null",
                "hierarchy_lvl4": "Example",
                "hierarchy_lvl5": "null",
                "hierarchy_lvl6": "null",
                "content": "Warrior, it is his duty to h<em>ost </em>the formal Winter Feast at",
                "anchor": "example-6",
                "url": "https://docs.meilisearch.com/guides/advanced_guides/search_parameters.html#example-6"
            }
        }
    ],
    "offset": 0,
    "limit": 5,
    "nbHits": 8,
    "exhaustiveNbHits": false,
    "processingTimeMs": 1,
    "query": "host"
}

Don't forget to add tests about this issue 馃槆

Version: on 0.10.0

Most helpful comment

I've just tested on master, it seems to work sorryyyyyyy. Closing the issue 馃槆

>All comments

I've just tested on master, it seems to work sorryyyyyyy. Closing the issue 馃槆

Was this page helpful?
0 / 5 - 0 ratings

Related issues

carlosb1 picture carlosb1  路  5Comments

imor picture imor  路  4Comments

curquiza picture curquiza  路  3Comments

mzperix picture mzperix  路  4Comments

andersju picture andersju  路  3Comments