Meilisearch 会收集用户的匿名数据以改进我们的产品。您可以随时停用此功能,并且可以申请删除已收集的所有数据。

我们使用哪些工具来收集和可视化数据?

我们使用数据收集管理平台 Segment 来收集使用数据。然后将这些数据导入可视化工具 Amplitude,以便根据需求构建数据图表。

我们收集哪些类型的数据?

我们的数据收集主要集中在以下类别:

  • 系统指标:如运行 Meilisearch 的设备技术规格、软件版本和操作系统
  • 性能指标:如搜索请求的成功率和平均延迟
  • 使用情况指标:用于评估最新功能的效果,这些指标会随每个新版本而变化

查看下方当前收集的所有指标完整列表

我们绝不会:

  • 识别或追踪用户
  • 收集如 IP 地址、电子邮件地址或网站 URL 等个人信息
  • 存储添加到 Meilisearch 实例中的文档数据

为什么要收集遥测数据?

我们收集遥测数据仅出于两个原因:改进产品,以及维持项目的全职开发。

为了打造更好的产品,我们需要可靠的定量信息。收集的数据帮助我们修复错误、评估功能效果,并更好地理解用户需求。

同时,我们需要证明 Meilisearch 的实际使用情况。使用指标帮助我们向投资者证明项目的价值,从而维持项目的持续发展。

为什么您可以信任我们?

不要轻信我们——请监督我们。 我们理解并认为,在涉及您的隐私数据时对科技公司保持警惕是明智之举。正因如此,我们致力于保持数据收集的完全透明,提供退出选项,并允许用户随时请求删除所有收集的数据。在全球数据保护法规尚不完善的背景下,我们相信这是处理数据收集唯一符合道德的方式。

没有公司是完美的。如果您发现我们在透明度方面有任何不足,或收集了侵犯您个人隐私的数据,请通过专属邮箱联系我们:privacy@meilisearch.com。同样,如果您发现任何值得我们关注的数据权利倡议或数据保护工具,也请随时分享。我们对此议题充满热忱并极为重视。

如何禁用数据收集

您可以通过设置命令行参数或环境变量来随时禁用数据收集,之后重启 Meilisearch 实例即可生效。

有关配置 Meilisearch 的更多信息,请阅读我们的配置参考文档

如何删除所有收集的数据

我们 Meilisearch 团队提供了一个电子邮件地址,以便用户可以请求从我们所有工具中完全删除其数据。

为此,请发送邮件至 privacy@meilisearch.com,邮件中需包含为您的 Meilisearch 安装生成的唯一标识符(启动 Meilisearch 时的 Instance UID)。任何关于我们收集数据管理的问题也可以发送至此邮箱地址。

完整收集数据列表

当触发收集数据的事件时,Meilisearch 不会立即发送这些数据。相反,它会将数据与其他数据打包成最大 500kb 的批次。批次会在每小时或达到 500kb 时发送——以先发生的为准。这样做是为了提高性能并减少网络流量。

此列表可能随每个新版本的 Meilisearch 而变化。这不是因为我们试图隐瞒什么!而是因为当我们添加新功能时,需要收集额外的数据点来观察它们的表现。

指标名称描述示例
context.app.versionMeilisearch 版本号1.3.0
infos.env--env/MEILI_ENV 的值production
infos.db_path如果指定了 --db-path/MEILI_DB_PATH 则为 truetrue
infos.import_dump如果指定了 --import-dump 则为 truetrue
infos.dump_dir如果指定了 --dump-dir/MEILI_DUMP_DIR 则为 truetrue
infos.ignore_missing_dump如果启用了 --ignore-missing-dump 则为 truetrue
infos.ignore_dump_if_db_exists如果启用了 --ignore-dump-if-db-exists 则为 truetrue
infos.import_snapshot如果指定了 --import-snapshot 则为 truetrue
infos.schedule_snapshot如果设置了 --schedule_snapshot/MEILI_SCHEDULE_SNAPSHOT 的值,否则为 None86400
infos.snapshot_dir如果指定了 --snapshot-dir/MEILI_SNAPSHOT_DIR 则为 truetrue
infos.ignore_missing_snapshot如果启用了 --ignore-missing-snapshot 则为 truetrue
infos.ignore_snapshot_if_db_exists如果启用了 --ignore-snapshot-if-db-exists 则为 truetrue
infos.http_addr如果指定了 --http-addr/MEILI_HTTP_ADDR 则为 truetrue
infos.http_payload_size_limit--http-payload-size-limit/MEILI_HTTP_PAYLOAD_SIZE_LIMIT 的值(字节)336042103
infos.log_level--log-level/MEILI_LOG_LEVEL 的值debug
infos.max_indexing_memory--max-indexing-memory/MEILI_MAX_INDEXING_MEMORY 的值(字节)336042103
infos.max_indexing_threads--max-indexing-threads/MEILI_MAX_INDEXING_THREADS 的值(整数)4
infos.log_level--log-level/MEILI_LOG_LEVEL 的值debug
infos.ssl_auth_path如果指定了 --ssl-auth-path/MEILI_SSL_AUTH_PATH 则为 truefalse
infos.ssl_cert_path如果指定了 --ssl-cert-path/MEILI_SSL_CERT_PATH 则为 truefalse
infos.ssl_key_path如果指定了 --ssl-key-path/MEILI_SSL_KEY_PATH 则为 truefalse
infos.ssl_ocsp_path如果指定了 --ssl-ocsp-path/MEILI_SSL_OCSP_PATH 则为 truefalse
infos.ssl_require_auth--ssl-require-auth/MEILI_SSL_REQUIRE_AUTH 的布尔值false
infos.ssl_resumption如果指定了 --ssl-resumption/MEILI_SSL_RESUMPTION 则为 truefalse
infos.ssl_tickets如果指定了 --ssl-tickets/MEILI_SSL_TICKETS 则为 truefalse
system.distribution运行 Meilisearch 的发行版Arch Linux
system.kernel_version运行 Meilisearch 的内核版本5.14.10
system.coresCPU 核心数24
system.ram_size总内存容量(以 KB 为单位)16777216
system.disk_size最大磁盘的总容量(以 Bytes 为单位)1048576000
system.server_providerMEILI_SERVER_PROVIDER 环境变量的值AWS
stats.database_size数据库大小(以 Bytes 为单位)2621440
stats.indexes_number索引数量2
start_since_days实例启动以来的天数365
user_agentAPI 调用中遇到的 User-agent 头[“Meilisearch Ruby (2.1)”, “Ruby (3.0)“]
requests.99th_response_time成功搜索请求中最快的 99% 的最高延迟57ms
requests.total_succeeded成功请求总数3456
requests.total_failed失败请求总数24
requests.total_received接收到的搜索请求总数3480
requests.total_degraded达到搜索时间截止后被取消的搜索总数100
requests.total_used_negative_operator使用负词或负短语运算符的搜索计数173
sort.with_geoPoint如果指定了排序规则 _geoPoint 则为 truetrue
sort.avg_criteria_number包含 sort 参数的所有搜索请求中排序条件的平均数量2
filter.with_geoBoundingBox如果指定了过滤规则 _geoBoundingBox 则为 truefalse
filter.with_geoRadius如果指定了过滤规则 _geoRadius 则为 truefalse
filter.most_used_syntax包含 filter 参数的所有搜索请求中最常用的过滤语法string
q.max_terms_numberq 参数提供的最大词数5
pagination.max_limitlimit 参数提供的最大值60
pagination.max_offsetoffset 参数提供的最大值1000
formatting.max_attributes_to_retrieve最大返回属性数100
formatting.max_attributes_to_highlight最大高亮属性数100
formatting.highlight_pre_tag如果指定了 highlightPreTag 则为 truefalse
formatting.highlight_post_tag如果指定了 highlightPostTag 则为 truefalse
formatting.max_attributes_to_crop最大裁剪属性数100
formatting.crop_length如果指定了 cropLength 则为 truefalse
formatting.crop_marker如果指定了 cropMarker 则为 truefalse
formatting.show_matches_position如果在此批次中使用了 showMatchesPosition 则为 truefalse
facets.avg_facets_number平均分面数量10
primary_key显式设置时的主键名称,否则为 nullid
payload_typeContent-Type 头中遇到的所有值,包括无效值[“application/json”, “text/plain”, “application/x-ndjson”]
index_creation如果文档添加或更新请求触发了索引创建则为 truetrue
ranking_rules.words_position如果存在 words 排序规则的位置,否则为 null1
ranking_rules.typo_position如果存在 typo 排序规则的位置,否则为 null2
ranking_rules.proximity_position如果存在 proximity 排序规则的位置,否则为 null3
ranking_rules.attribute_position如果存在 attribute 排序规则的位置,否则为 null4
ranking_rules.sort_positionsort 排序规则的位置5
ranking_rules.exactness_position如果存在 exactness 排序规则的位置,否则为 null6
ranking_rules.values表示排序规则的字符串(不包含自定义的 asc-desc 规则)“words, typo, attribute, sort, exactness”
sortable_attributes.total可排序属性数量3
sortable_attributes.has_geo如果 _geo 被设为可排序属性则为 truetrue
filterable_attributes.total可过滤属性数量3
filterable_attributes.has_geo如果 _geo 被设为可过滤属性则为 falsefalse
filterable_attributes.has_patterns如果 filterableAttributes 使用了 attributePatterns 则为 truetrue
searchable_attributes.total可搜索属性数量4
searchable_attributes.with_wildcard如果 * 被指定为可搜索属性则为 falsefalse
per_task_uid如果使用 uids 获取特定任务资源则为 truetrue
filtered_by_uid如果任务通过 uids 查询参数过滤则为 falsefalse
filtered_by_index_uid如果任务通过 indexUids 查询参数过滤则为 falsefalse
filtered_by_type如果任务通过 types 查询参数过滤则为 falsefalse
filtered_by_status如果任务通过 statuses 查询参数过滤则为 falsefalse
filtered_by_canceled_by如果任务通过 canceledBy 查询参数过滤则为 falsefalse
filtered_by_before_enqueued_at如果任务通过 beforeEnqueuedAt 查询参数过滤则为 falsefalse
filtered_by_after_enqueued_at如果任务通过 afterEnqueuedAt 查询参数过滤则为 falsefalse
filtered_by_before_started_at如果任务通过 beforeStartedAt 查询参数过滤则为 falsefalse
filtered_by_after_started_at如果任务通过 afterStartedAt 查询参数过滤则为 falsefalse
filtered_by_before_finished_at如果任务通过 beforeFinishedAt 查询参数过滤则为 falsefalse
filtered_by_after_finished_at如果任务通过 afterFinishedAt 查询参数过滤则为 falsefalse
typo_tolerance.enabled如果启用了拼写容错则为 truetrue
typo_tolerance.disable_on_attributes如果为 disableOnAttributes 定义了至少一个值则为 falsefalse
typo_tolerance.disable_on_words如果为 disableOnWords 定义了至少一个值则为 falsefalse
typo_tolerance.min_word_size_for_typos.one_typominWordSizeForTypos.oneTypo 参数的设定值5
typo_tolerance.min_word_size_for_typos.two_typosminWordSizeForTypos.twoTypos 参数的设定值9
pagination.max_total_hitspagination.maxTotalHits 属性的设定值1000
faceting.max_values_per_facetfaceting.maxValuesPerFacet 属性的设定值100
distinct_attribute.set如果指定了字段名则为 falsefalse
distinct如果在请求聚合列表中指定了 distinct 则为 truetrue
proximity_precision.set如果手动设置了该参数则为 falsefalse
proximity_precision.valuebyWordbyAttributebyWord
facet_search.set用户已更改 facetSearchtrue
facet_search.value用户设置的 facetSearchtrue
prefix_search.set用户已更改 prefixSearchtrue
prefix_search.value用户设置的 prefixSearchindexingTime
displayed_attributes.total显示属性数量3
displayed_attributes.with_wildcard如果 * 被指定为显示属性则为 falsefalse
stop_words.total停用词数量3
separator_tokens.total分隔符数量3
non_separator_tokens.total非分隔符数量3
dictionary.total词典中的单词数量3
synonyms.total同义词数量3
per_index_uid如果使用 uid 获取索引统计资源则为 falsefalse
searches.avg_search_count聚合事件中每次调用接收的平均搜索查询数4.2
searches.total_search_count聚合事件中接收的搜索查询总数16023
indexes.avg_distinct_index_count聚合事件中每次调用查询的索引平均数量1.2
indexes.total_distinct_index_count聚合事件中查询的不同索引总数6023
indexes.total_single_index仅查询一个索引时的调用总数2007
matching_strategy.most_used_strategy最常用的词语匹配策略last
infos.with_configuration_file如果实例使用配置文件启动则为 falsefalse
infos.experimental_composite_embedders如果此实例的 compositeEmbedders 功能设为 true 则为 falsefalse
infos.experimental_contains_filter如果启用了 containsFilter 实验性功能则为 falsefalse
infos.experimental_edit_documents_by_function如果启用了 editDocumentsByFunction 实验性功能则为 falsefalse
infos.experimental_enable_metrics如果启动时指定了 --experimental-enable-metrics 则为 falsefalse
infos.experimental_embedding_cache_entries配置的嵌入缓存大小100
infos.experimental_replication_parameters如果启动时指定了 --experimental-replication-parameters 则为 falsefalse
infos.experimental_reduce_indexing_memory_usage如果启动时指定了 --experimental-reduce-indexing-memory-usage 则为 falsefalse
infos.experimental_logs_mode根据指定值显示 humanjsonhuman
infos.experimental_enable_logs_route如果启动时指定了 --experimental-enable-logs-route 则为 falsefalse
infos.gpu_enabled如果 Meilisearch 编译时支持 CUDA 则为 falsefalse
swap_operation_number交换操作次数2
pagination.most_used_navigation最常用的搜索结果导航方式estimated
per_document_id如果使用了 DELETE /indexes/:indexUid/documents/:documentUid 端点则为 falsefalse
per_filter如果使用了