遥测
美利搜从用户处收集匿名数据以改进我们的产品。这可以随时停用,并且已收集的任何数据都可以根据请求删除。
我们使用什么工具来收集和可视化数据?
我们使用Segment,一个数据收集和管理平台,来收集使用数据。然后我们将数据输入Amplitude,图表和突出显示数据的工具,以便我们可以根据需要构建可视化效果。
我们收集哪类的数据?
我们的数据收集关注下列类别
- 系统指标,例如运行美利搜的设备技术规范、软件版本和操作系统
- 性能指标,例如搜索请求的成功率和平均延迟
- 使用指标,旨在评估我们的最新功能。它们随每个新版本而改变
请参见我们当前收集的所有指标的完整列表。
我们永远不会
- 识别或跟踪用户
- 收集个人信息,例如 IP 地址、电子邮件地址或网站 URL
- 存储添加到美利搜实例中的文档中的数据
为何收集遥测数据?
我们仅出于两个原因收集遥测数据,以便我们可以改进我们的产品以及我们可以继续全职处理该项目。
为了创造更好的产品,我们需要可靠的定量信息。我们收集的数据帮助我们修复错误、评估功能的成功并更好地了解用户的需求。
我们还需要证明人们实际上正在使用美利搜。使用指标帮助我们向投资者证明我们的存在,以便我们可以使该项目继续进行下去。
您为何应该相信我们?
不要信任我们,要对我们负责。我们认为,当涉及到你的私人数据时,不信任科技公司是明智之举。这就是为什么我们努力保持关于我们数据收集的完全透明性、提供退出选项,并允许用户随时请求删除其所有收集的数据。在没有全球数据保护法的情况下,我们相信这是处理数据收集的唯一合乎道德的方式。
没有一家公司是完美的。如果你感觉我们有一丝不透明或收集侵犯你个人隐私的数据,请通过发送电子邮件至我们专门的帐户告知我们:[email protected]。类似地,如果你发现与我们相关的某个数据权利倡议或数据保护工具,请与我们分享。我们对该主题充满热情,并非常重视它。
如何禁用数据收集
可以通过设置命令行选项或环境变量,然后重新启动 Meilisearch 实例,随时禁用数据收集。
meilisearch --no-analytics
有关配置 Meilisearch 的更多信息,请阅读我们的配置参考。
如何删除所有收集的数据
我们,Meilisearch 团队,提供了一个电子邮件地址,以便用户请求从我们所有工具中完全删除其数据。
为此,请发送一封电子邮件到 [email protected],其中包含为你的 Meilisearch 安装生成的唯一标识符(在启动 Meilisearch 时为“实例 UID”)。任何有关我们收集的数据的管理问题也可以发送到此电子邮件地址。
所有收集数据的详尽列表
只要触发某个收集部分数据的事件,Meilisearch 不会立即发送数据。相反,它将数据与其他数据捆绑成高达 500kb
的一批。批次要么每小时发送一次,要么在达到 500kb
后发送,以先发生者为准。这样做是为了提高性能并减少网络流量。
请注意!
此列表可能会随着 Meilisearch 的每个新版本而更改。这不是因为我们试图耍花招!这是因为当我们添加新功能时,我们需要收集更多的数据点来了解其性能。
指标名称 | 描述 | 示例 |
---|---|---|
context.app.version | Meilisearch 的版本号 | 0.23.0 |
infos.env | --env /MEILI_ENV 的值 | production |
infos.db_path | 若指定了 --db-path /MEILI_DB_PATH ,则为 true ,否则为 false | true |
infos.import_dump | 若指定了 --import-dump ,则为 true ,否则为 false | true |
infos.dump_dir | 若指定了 --dump-dir /MEILI_DUMP_DIR ,则为 true ,否则为 false | true |
infos.ignore_missing_dump | 若启用了 --ignore-missing-dump ,则为 true ,否则为 false | true |
infos.ignore_dump_if_db_exists | 若启用了 --ignore-dump-if-db-exists ,则为 true ,否则为 false | true |
infos.import_snapshot | 若指定了 --import-snapshot ,则为 true ,否则为 false | true |
infos.schedule_snapshot | 若启用了计划快照,则为 --schedule_snapshot /MEILI_SCHEDULE_SNAPSHOT 的值,否则为 None | 86400 |
infos.snapshot_dir | 若指定了 --snapshot-dir /MEILI_SNAPSHOT_DIR ,则为 true ,否则为 false | true |
infos.ignore_missing_snapshot | 若启用了 --ignore-missing-snapshot ,则为 true ,否则为 false | true |
infos.ignore_snapshot_if_db_exists | 若启用了 --ignore-snapshot-if-db-exists ,则为 true ,否则为 false | true |
infos.http_addr | 若指定了 --http-addr /MEILI_HTTP_ADDR ,则为 true ,否则为 false | true |
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 ,则为 true ,否则为 false | false |
infos.ssl_cert_path | 若指定了 --ssl-cert-path /MEILI_SSL_CERT_PATH ,则为 true ,否则为 false | false |
infos.ssl_key_path | 若指定了 --ssl-key-path /MEILI_SSL_KEY_PATH ,则为 true ,否则为 false | false |
infos.ssl_ocsp_path | 若指定了 --ssl-ocsp-path /MEILI_SSL_OCSP_PATH ,则为 true ,否则为 false | false |
infos.ssl_require_auth | --ssl-require-auth /MEILI_SSL_REQUIRE_AUTH 的值,为布尔值 | false |
infos.ssl_resumption | 若指定了 --ssl-resumption /MEILI_SSL_RESUMPTION ,则为 true ,否则为 false | false |
infos.ssl_tickets | 若指定了 --ssl-tickets /MEILI_SSL_TICKETS ,则为 true ,否则为 false | false |
system.distribution | 运行 Meilisearch 的发行版 | Arch Linux |
system.kernel_version | 运行 Meilisearch 的内核版本 | 5.14.10 |
system.cores | 核心数量 | 24 |
system.ram_size | RAM 总容量。以 KB 为单位 | 16777216 |
system.disk_size | 最大磁盘的总容量。以 Bytes 为单位 | 1048576000 |
system.server_provider | 用户可以通过填充MEILI_SERVER_PROVIDER 环境变量来告诉我们 Meilisearch 托管在哪个提供商上。这也由我们的云部署脚本填充,例如,GCP cloud-config.yaml | GCP |
stats.database_size | 数据库大小。以字节 表示 | 2621440 |
stats.indexes_number | 索引数 | 2 |
start_since_days | 实例启动以来经过的天数 | 365 |
user_agent | API 调用期间遇到的用户代理头 | ["Meilisearch Ruby (2.1)", "Ruby (3.0)"] |
requests.99th_response_time | 在最快的 99% 的成功搜索请求中延迟最高 | 57 毫秒 |
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 ,则为true ,否则为false | true |
sort.avg_criteria_number | 包含sort 参数的所有搜索请求中的平均排序条件数 | 2 |
filter.with_geoBoundingBox | 如果已指定过滤器规则_geoBoundingBox ,则为true ,否则为false | false |
filter.with_geoRadius | 如果已指定过滤器规则_geoRadius ,则为true ,否则为false | false |
filter.most_used_syntax | 包含filter 参数的所有搜索请求中最常用的过滤器语法 | 字符串 |
q.max_terms_number | 为q 参数给出的最高术语数 | 5 |
pagination.max_limit | 为limit 参数给出的最高值 | 60 |
pagination.max_offset | 为offset 参数给出的最高值 | 1000 |
formatting.max_attributes_to_retrieve | 要检索的最大属性数量 | 100 |
formatting.max_attributes_to_highlight | 要高亮的最大属性数量 | 100 |
formatting.highlight_pre_tag | 如果已指定highlightPreTag ,则为true ,否则为false | false |
formatting.highlight_post_tag | 如果已指定highlightPostTag ,则为true ,否则为false | false |
formatting.max_attributes_to_crop | 要裁剪的最大属性数 | 100 |
formatting.crop_length | 为真 ,如果指定了 cropLength ;否则 为假 | false |
formatting.crop_marker | 为真 ,如果指定了 cropMarker ;否则 为假 | false |
formatting.show_matches_position | 为真 ,如果此批中使用了 showMatchesPosition ;否则 为假 | false |
facets.avg_facets_number | 平均分类面数目 | 10 |
primary_key | 主要键的名称,作为文档添加、文档更新、索引创建或索引更新的一部分被明确设置时;否则 为 null | id |
payload_type | Content-Type 标头中遇到的所有值,包括无效值 | ["application/json", "text/plain", "application/x-ndjson"] |
index_creation | 为真 ,如果文档添加或更新请求触发了索引创建;否则 为假 | true |
ranking_rules.words_position | words 排名规则的位置(如果存在);否则 为 null | 1 |
ranking_rules.typo_position | typo 排名规则的位置(如果存在);否则 为 null | 2 |
ranking_rules.proximity_position | proximity 排名规则的位置(如果存在);否则 为 null | 3 |
ranking_rules.attribute_position | attribute 排名规则的位置(如果存在);否则 为 null | 4 |
ranking_rules.sort_position | sort 排名规则的位置 | 5 |
ranking_rules.exactness_position | exactness 排名规则的位置(如果存在);否则 为 null | 6 |
ranking_rules.values | 表示没有自定义升序-降序规则的排名规则的字符串 | "words, typo, attribute, sort, exactness" |
sortable_attributes.total | 可排序属性的数量 | 3 |
sortable_attributes.has_geo | 为真 ,如果 _geo 设置为可排序属性;否则 为假 | true |
filterable_attributes.total | 可过滤属性的数量 | 3 |
filterable_attributes.has_geo | 为真 ,如果 _geo 设置为可过滤属性;否则 为假 | false |
searchable_attributes.total | 可搜索属性的数量 | 4 |
searchable_attributes.with_wildcard | 为真 ,如果 * 指定为可搜索属性;否则 为假 | false |
per_task_uid | 为真 ,如果 uids 用于获取某个任务资源;否则 为假 | true |
filtered_by_uid | 为真 ,如果任务通过 uids 查询参数进行过滤;否则 为假 | false |
filtered_by_index_uid | 为真 ,如果任务通过 indexUids 查询参数进行过滤;否则 为假 | false |
filtered_by_type | 为真 ,如果任务通过 types 查询参数进行过滤;否则 为假 | false |
filtered_by_status | 为真 ,如果任务通过 statuses 查询参数进行过滤;否则 为假 | false |
filtered_by_canceled_by | 为真 ,如果任务通过 canceledBy 查询参数进行过滤;否则 为假 | false |
filtered_by_before_enqueued_at | 为真 ,如果任务通过 beforeEnqueuedAt 查询参数进行过滤;否则 为假 | false |
filtered_by_after_enqueued_at | true 如果任务通过afterEnqueuedAt 查询参数进行筛选,否则为false | false |
filtered_by_before_started_at | true 如果任务通过beforeStartedAt 查询参数进行筛选,否则为false | false |
filtered_by_after_started_at | true 如果任务通过afterStartedAt 查询参数进行筛选,否则为false | false |
filtered_by_before_finished_at | true 如果任务通过beforeFinishedAt 查询参数进行筛选,否则为false | false |
filtered_by_after_finished_at | true 如果任务通过afterFinishedAt 查询参数进行筛选,否则为false | false |
typo_tolerance.enabled | true 如果启用错别字容忍,否则为false | true |
typo_tolerance.disable_on_attributes | true 如果至少为disableOnAttributes 定义了一个值,否则为false | false |
typo_tolerance.disable_on_words | true 如果至少为disableOnWords 定义了一个值,否则为false | false |
typo_tolerance.min_word_size_for_typos.one_typo | 为minWordSizeForTypos.oneTypo 参数定义的值 | 5 |
typo_tolerance.min_word_size_for_typos.two_typos | 为minWordSizeForTypos.twoTypos 参数定义的值 | 9 |
pagination.max_total_hits | 为pagination.maxTotalHits 属性定义的值 | 1000 |
faceting.max_values_per_facet | 为faceting.maxValuesPerFacet 属性定义的值 | 100 |
distinct_attribute.set | true 如果指定了一个字段名,否则为false | false |
distinct | 布尔值,指示是否在聚合的请求列表中指定了 distinct。 | true |
proximity_precision.set | true 如果设置已手动设置,否则为false 。 | false |
proximity_precision.value | 按单词 或按属性 。 | 按单词 |
displayed_attributes.total | 显示的属性数 | 3 |
displayed_attributes.with_wildcard | true 如果* 指定为显示的属性,否则为false | false |
stop_words.total | 停止词数 | 3 |
separator_tokens.total | 分隔符令牌数 | 3 |
non_separator_tokens.total | 非分隔符令牌数 | 3 |
dictionary.total | 词典中的单词数 | 3 |
synonyms.total | 同义词数 | 3 |
per_index_uid | true 如果uid 用于获取索引统计资源,否则为false | false |
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 | 若是使用配置文件启动实例,则为 true ,否则为 false | false |
infos.experimental_contains_filter | 若是启用 containsFilter 试验功能,则为 true | false |
infos.experimental_edit_documents_by_function | 若是启用 editDocumentsByFunction 试验功能,则为 true | false |
infos.experimental_enable_metrics | 若是指定 --experimental-enable-metrics /MEILI_EXPERIMENTAL_ENABLE_METRICS ,则为 true ,否则为 false | false |
infos.experimental_replication_parameters | 若是启动时指定 --experimental-replication-parameters /MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS ,则为 true ,否则为 false | false |
infos.experimental_reduce_indexing_memory_usage | 若是启动时指定 --experimental-reduce-indexing-memory-usage /MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE ,则为 true ,否则为 false | false |
infos.experimental_logs_mode | 根据指定的值,为 human 或 json 。 | human |
infos.experimental_enable_logs_route | 若是启动时指定 --experimental-enable-logs-route /MEILI_EXPERIMENTAL_ENABLE_LOGS_ROUTE ,则为 true ,否则为 false | false |
infos.gpu_enabled | 若是 Meilisearch 在编译时具备 CUDA 支持,则为 true ,否则为 false | false |
swap_operation_number | 交换操作次数 | 2 |
pagination.most_used_navigation | 最常用的搜索结果导航 | estimated |
per_document_id | 若是使用端点 DELETE /indexes/:indexUid/documents/:documentUid ,则为 true ,否则为 false | false |
per_filter | 若是使用端点 POST /indexes/:indexUid/documents/fetch 、GET /indexes/:indexUid/documents/ 或 POST /indexes/:indexUid/documents/delete ,则为 true ,否则为 false | false |
clear_all | 若是使用端点 DELETE /indexes/:indexUid/documents ,则为 true ,否则为 false | false |
per_batch | 若是使用端点 POST /indexes/:indexUid/documents/delete-batch ,则为 true ,否则为 false | false |
facets.total_distinct_facet_count | 总共查询聚合事件的唯一 facet 数 | false |
facets.additional_search_parameters_provided | 若是为聚合事件提供其他搜索参数,则为 true ,否则为 false | false |
faceting.sort_facet_values_by_star_count | 若是设置所有字段按数量排序,则为 true ,否则为 false | false |
faceting.sort_facet_values_by_total | 设置的不同值数量 | 10 |
scoring.show_ranking_score | 若是聚合事件中使用 showRankingScore ,则为 true ,否则为 false | true |
scoring.show_ranking_score_details | 若是聚合事件中使用 showRankingScoreDetails ,则为 true ,否则为 false | true |
scoring.ranking_score_threshold | 指示是否在聚合请求列表中指定 rankingScoreThreshold 的 Boolean 值 | true |
vector_store | 若是启用 vector store 功能,则为 true ,否则为 false | true |
attributes_to_search_on.total_number_of_uses | 若是启用 vector store 功能,则为 true ,否则为 false | true |
vector.max_vector_size | 此批中对 vector 参数给出的最高维度数 | 1536 |
vector.retrieve_vectors | 如果此批中使用了 retrieve_vectors 参数,则为 true。 | false |
hybrid.enabled | 如果聚合事件中使用了混合搜索,则为 true ,否则为 false | true |
hybrid.semantic_ratio | 如果此批中使用了 semanticRatio,则为 true ,否则为 false | false |
hybrid.embedder | 如果此批中使用了特定嵌入器,则为 true ,否则为 false | true |
embedders.total | 定义的嵌入器数 | 2 |
embedders.sources | 表示不同已提供数据源的数组 | [”huggingFace”, “userProvided”] |
embedders.document_template_used | 表示提供的嵌入器之一是否有自定义模版定义的布尔值 | true |
infos.task_queue_webhook | 如果实例以任务队列 webhook 启动,则为 true ,否则为 false | false |
infos.experimental_search_queue_size | 搜索队列大小 | 750 |
locales | 在 /search 和 /settings 路由中使用的语言列表 | [”fra”, “eng”] |
federation.use_federation | 如果上一次聚合中至少有一个多搜索请求包含一个非空顶层联合对象,则为 true | false |