将搜索分析事件绑定到用户

    默认情况下,Meilisearch 使用 IP 地址来识别用户并计算总用户指标。本指南将向您展示如何使用 X-MS-USER-ID HTTP 标头手动将分析事件链接到特定用户。

    如果您从后端进行搜索,这将非常有用,因为否则所有搜索都将显示为来自服务器的 IP 地址,这使得难以准确跟踪单个用户的数量。

    要求

    X-MS-USER-ID 添加到您的搜索查询中

    在搜索请求中包含 X-MS-USER-ID 标头

    curl \
      -X POST 'http://127.0.0.1:7700/indexes/INDEX_NAME/search' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \
      -H 'X-MS-USER-ID: MEILISEARCH_USER_ID' \
      --data-binary '{}'

    MEILISEARCH_USER_ID 替换为任何唯一标识该用户的 value。当从您自己的后端运行搜索时,这可能是经过身份验证的用户 ID,或者可能是用户 IP 地址的哈希值。

    X-MS-USER-ID 添加到分析事件中

    接下来,将您的分析事件提交到分析端点。在您的 API 调用中发送相同的标头和 value

    curl \
      -X POST 'https://edge.meilisearch.com/events' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \
      -H 'X-MS-USER-ID: MEILISEARCH_USER_ID' \
      --data-binary '{
        "eventType": "click",
        "eventName": "Search Result Clicked",
        "indexUid": "products",
        "objectId": "0",
        "position": 0
      }'

    结论

    在本指南中,您了解了如何通过为搜索请求和分析事件指定相同的 HTTP 标头来将分析事件绑定到特定用户。