遥测

    Meilisearch 从用户处收集匿名数据,以改进我们的产品。 这可以随时停用,并且任何已收集的数据都可以按需删除

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

    我们使用 Segment,一个数据收集和管理平台,来收集使用数据。然后,我们将这些数据输入到 Amplitude,一个用于绘制数据和突出显示数据的工具,以便我们可以根据我们的需求构建可视化效果。

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

    我们的数据收集侧重于以下类别

    请参阅下文,查看我们目前收集的完整指标列表

    我们绝不会

    为什么要收集遥测数据?

    我们收集遥测数据只有两个原因:为了改进我们的产品,以及为了我们可以继续全职从事这个项目。

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

    我们还需要证明人们实际上正在使用 Meilisearch。 使用情况指标有助于我们向投资者证明我们的存在是合理的,以便我们可以维持这个项目的活力。

    为什么您应该信任我们?

    不要信任我们——监督我们。 关于您的隐私数据,我们认为您对科技公司抱有不信任感是可以理解的,实际上也是明智的。因此,我们力求对数据收集保持完全透明,提供选择退出,并允许用户随时请求删除所有已收集的数据。在全球数据保护法律缺失的情况下,我们认为这是处理数据收集的唯一合乎道德的方式。

    没有公司是完美的。如果您认为我们未能做到 100% 透明,或者收集的数据侵犯了您的个人隐私,请通过发送电子邮件至我们的专用帐户告知我们:privacy@meilisearch.com。同样,如果您发现您认为与我们相关的数据权利倡议或数据保护工具,请分享给我们。我们对这个主题充满热情,并非常认真地对待它。

    如何禁用数据收集

    可以随时禁用数据收集,方法是设置命令行选项或环境变量,然后重启 Meilisearch 实例。

    meilisearch --no-analytics
    

    有关配置 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.distributionMeilisearch 启动所在的发行版Arch Linux
    system.kernel_versionMeilisearch 启动所在的内核版本5.14.10
    system.cores核心数24
    system.ram_size总 RAM 容量。以 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平均 facets 数量10
    primary_key显式设置时主键的名称。否则为 nullid
    payload_typeContent-Type 标头中遇到的所有值,包括无效值["application/json", "text/plain", "application/x-ndjson"]
    index_creation如果文档添加或更新请求触发了索引创建,则为 truetrue
    ranking_rules.words_positionwords 排名规则的位置(如果有),否则为 null1
    ranking_rules.typo_positiontypo 排名规则的位置(如果有),否则为 null2
    ranking_rules.proximity_positionproximity 排名规则的位置(如果有),否则为 null3
    ranking_rules.attribute_positionattribute 排名规则的位置(如果有),否则为 null4
    ranking_rules.sort_positionsort 排名规则的位置5
    ranking_rules.exactness_positionexactness 排名规则的位置(如果有),否则为 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 被设置为可筛选属性,则为 truefalse
    filterable_attributes.has_patterns如果 filterableAttributes 使用了 attributePatterns,则为 truetrue
    searchable_attributes.total可搜索属性的数量4
    searchable_attributes.with_wildcard如果 * 被指定为可搜索属性,则为 truefalse
    per_task_uid如果 uids 用于获取特定的任务资源,则为 truetrue
    filtered_by_uid如果任务按 uids 查询参数筛选,则为 truefalse
    filtered_by_index_uid如果任务按 indexUids 查询参数筛选,则为 truefalse
    filtered_by_type如果任务按 types 查询参数筛选,则为 truefalse
    filtered_by_status如果任务按 statuses 查询参数筛选,则为 truefalse
    filtered_by_canceled_by如果任务按 canceledBy 查询参数筛选,则为 truefalse
    filtered_by_before_enqueued_at如果任务按 beforeEnqueuedAt 查询参数筛选,则为 truefalse
    filtered_by_after_enqueued_at如果任务按 afterEnqueuedAt 查询参数筛选,则为 truefalse
    filtered_by_before_started_at如果任务按 beforeStartedAt 查询参数筛选,则为 truefalse
    filtered_by_after_started_at如果任务按 afterStartedAt 查询参数筛选,则为 truefalse
    filtered_by_before_finished_at如果任务按 beforeFinishedAt 查询参数筛选,则为 truefalse
    filtered_by_after_finished_at如果任务按 afterFinishedAt 查询参数筛选,则为 truefalse
    typo_tolerance.enabled如果启用了拼写容错,则为 truetrue
    typo_tolerance.disable_on_attributes如果为 disableOnAttributes 定义了至少一个值,则为 truefalse
    typo_tolerance.disable_on_words如果为 disableOnWords 定义了至少一个值,则为 truefalse
    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如果指定了字段名称,则为 truefalse
    distinct如果在聚合请求列表中指定了 distinct,则为 truetrue
    proximity_precision.set如果已手动设置该设置,则为 truefalse
    proximity_precision.valuebyWordbyAttributebyWord
    facet_search.setfacetSearch 已被用户更改true
    facet_search.value用户设置的 facetSearchtrue
    prefix_search.setprefixSearch 已被用户更改true
    prefix_search.value用户设置的 prefixSearchindexingTime
    displayed_attributes.total显示的属性数3
    displayed_attributes.with_wildcard如果 * 被指定为显示的属性,则为 truefalse
    stop_words.total停用词的数量3
    separator_tokens.total分隔符标记的数量3
    non_separator_tokens.total非分隔符标记的数量3
    dictionary.total字典中的单词数3
    synonyms.total同义词的数量3
    per_index_uid如果 uid 用于获取索引统计资源,则为 truefalse
    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如果实例是使用配置文件启动的,则为 truefalse
    infos.experimental_composite_embedders如果此实例的 compositeEmbedders 功能设置为 true,则为 truefalse
    infos.experimental_contains_filter如果启用了 containsFilter 实验性功能,则为 truefalse
    infos.experimental_edit_documents_by_function如果启用了 editDocumentsByFunction 实验性功能,则为 truefalse
    infos.experimental_enable_metrics如果在启动时指定了 --experimental-enable-metrics,则为 truefalse
    infos.experimental_embedding_cache_entries配置的嵌入缓存大小100
    infos.experimental_replication_parameters如果在启动时指定了 --experimental-replication-parameters,则为 truefalse
    infos.experimental_reduce_indexing_memory_usage如果在启动时指定了 --experimental-reduce-indexing-memory-usage,则为 truefalse
    infos.experimental_logs_modehumanjson,取决于指定的值human
    infos.experimental_enable_logs_route如果在启动时指定了 --experimental-enable-logs-route,则为 truefalse
    infos.gpu_enabled如果 Meilisearch 是使用 CUDA 支持编译的,则为 truefalse
    swap_operation_number交换操作的数量2
    pagination.most_used_navigation最常用的搜索结果导航estimated
    per_document_id如果使用了 DELETE /indexes/:indexUid/documents/:documentUid 端点,则为 truefalse
    per_filter如果使用了 POST /indexes/:indexUid/documents/fetchGET /indexes/:indexUid/documents/POST /indexes/:indexUid/documents/delete 端点,则为 truefalse
    clear_all如果使用了 DELETE /indexes/:indexUid/documents 端点,则为 truefalse
    per_batch如果使用了 POST /indexes/:indexUid/documents/delete-batch 端点,则为 truefalse
    facets.total_distinct_facet_count为聚合事件查询的 distinct facets 总数false
    facets.additional_search_parameters_provided如果为聚合事件提供了额外的搜索参数,则为 truefalse
    faceting.sort_facet_values_by_star_count如果所有字段都设置为按计数排序,则为 truefalse
    faceting.sort_facet_values_by_total设置的不同值的数量10
    scoring.show_ranking_score如果在聚合事件中使用了 showRankingScore,则为 truetrue
    scoring.show_ranking_score_details如果在聚合事件中使用了 showRankingScoreDetails,则为 truetrue
    scoring.ranking_score_threshold如果在聚合请求列表中指定了 rankingScoreThreshold,则为 truetrue
    attributes_to_search_on.total_number_of_uses设置了 attributesToSearchOn 的查询总数5
    vector.max_vector_size在此批次中为 vector 参数给出的最高维度数1536
    vector.retrieve_vectors如果在此批次中使用了 retrieve_vectors 参数,则为 truefalse
    hybrid.enabled如果在聚合事件中使用了混合搜索,则为 truetrue
    hybrid.semantic_ratio如果在此批次中使用了 semanticRatio,则为 true,否则为 falsefalse
    embedders.total定义的 embedders 数量2
    embedders.sources表示不同提供的源的数组["huggingFace", "userProvided"]
    embedders.document_template_used一个布尔值,指示提供的 embedders 之一是否定义了自定义模板true
    embedders.document_template_max_bytes一个值,指示所有 embedder 中 document TemplateMaxBytes 的最大值400
    embedders.binary_quantization_used如果用户更新了嵌入设置的二进制量化字段,则为 truefalse
    infos.task_queue_webhook如果实例是使用任务队列 webhook 启动的,则为 truefalse
    infos.experimental_search_queue_size搜索队列的大小750
    infos.experimental_dumpless_upgrade如果实例是使用该参数启动的,则为 truetrue
    locales/search/settings 路由一起使用的语言区域列表["fra", "eng"]
    federation.use_federation当至少一个 multi-search 请求包含顶级 federation 对象时,为 truefalse
    network_has_self如果 network 对象具有非空 self 字段,则为 truetrue
    network_size声明的 remotes 数量0
    network当启用 network 实验性功能时,为 truetrue
    experimental_network当启用 network 实验性功能时,为 truetrue
    remotes.total_distinct_remote_count聚合的每个搜索请求中出现的 distinct remotes 数量之和48
    remotes.avg_distinct_remote_count聚合的搜索请求中出现的 distinct remotes 平均数量2.33