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

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

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

    要求

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

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

    curl \
      -X POST 'https://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 替换为任何唯一标识该用户的值。这可能是从您自己的后端运行搜索时经过身份验证的用户的 ID,或者用户 IP 地址的哈希值。

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

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

    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 标头,将分析事件绑定到特定用户。