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

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

要求

  • 已启用分析和监控功能的 Meilisearch Cloud 项目
  • 一个用于提交分析事件的正常运行的管道

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

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

curl \
  -X POST 'MEILISEARCH_URL/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 标头来将分析事件绑定到特定用户。