外贸网站免费模板,外网网址可以做英语阅读的网站,营销策划主要做些什么,google推广方式和手段有哪些#x1f49d;#x1f49d;#x1f49d;欢迎来到我的博客#xff0c;很高兴能够在这里和您见面#xff01;希望您在这里可以感受到一份轻松愉快的氛围#xff0c;不仅可以获得有趣的内容和知识#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学… 欢迎来到我的博客很高兴能够在这里和您见面希望您在这里可以感受到一份轻松愉快的氛围不仅可以获得有趣的内容和知识也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。 ✨✨ 欢迎订阅本专栏 ✨✨ 博客目录 1.max_shards_per_node2.python api3.fuzziness4.\_score5.minimum_should_match6.embedding_dim 1.max_shards_per_node
在 Elasticsearch 中max_shards_per_node是一个集群级别的设置用于限制每个节点上可以打开的最大分片数。这个设置有助于防止单个节点上分片数量过多从而可能导致性能问题或资源耗尽。默认情况下Elasticsearch 集群的每个节点可以有 1000 个分片但这个数字可以根据需要进行调整。
临时设置:
PUT /_cluster/settings
{transient: {cluster: {max_shards_per_node: 10000}}
}永久设置: PUT /_cluster/settings
{persistent: {cluster: {max_shards_per_node: 10000}}
}2.python api
# 指定参数分页查询
from elasticsearch import Elasticsearch
es Elasticsearch()
query {query: {match_all: {}}
}
response es.search(indexdb01_v1_20240903, bodyquery, from_0, size10)3.fuzziness
在 Elasticsearch 中fuzziness 是一个用于模糊查询的参数它允许在搜索时指定一个编辑距离即允许用户输入与索引中的单词有一定差异的查询词依然能够匹配到相应的文档。这个参数主要用于处理用户输入错误或拼写变体的情况。
fuzziness 可以设置为以下值
数值如 0、1、2表示允许的最大编辑操作次数。数值越大匹配的结果可能会越多但同时查询性能可能会下降。AUTO这是一个特殊的设置它会根据查询词的长度自动调整编辑距离。通常对于长度小于等于 2 的词编辑距离设置为 0长度在 3 到 5 之间的词编辑距离设置为 1长度大于 5 的词编辑距离设置为 2。这个设置可以通过 AUTO:[low],[high] 的格式进行自定义其中 low 和 high 分别表示词长范围的下限和上限。
例如如果你想要在搜索时允许一个编辑错误可以这样设置
{query: {match: {field: {query: search_term,fuzziness: 1}}}
}或者使用 AUTO
{query: {match: {field: {query: search_term,fuzziness: AUTO}}}
}需要注意的是模糊查询虽然可以提高用户体验但可能会对性能产生影响因为它需要额外的处理来生成和匹配可能的变体词。因此在性能敏感的应用中应谨慎使用。
4._score
{took: 1,timed_out: false,_shards: {total: 1,successful: 1,skipped: 0,failed: 0},hits: {total: {value: 2,relation: eq},max_score: 2.137549,hits: [{_index: book,_type: _doc,_id: 3,_score: 2.137549,_source: {name: spring开发基础,description: spring 在java领域非常流行java程序员都在用。,studymodel: 201001,price: 88.6,timestamp: 2019-08-24 19:11:35,pic: group1/M00/00/00/wKhlQFs6RCeAY0pHAAJx5ZjNDEM428.jpg,tags: [spring, java]}},{_index: book,_type: _doc,_id: 2,_score: 0.57961315,_source: {name: java编程思想,description: java语言是世界第一编程语言在软件开发领域使用人数最多。,studymodel: 201001,price: 68.6,timestamp: 2019-08-25 19:11:35,pic: group1/M00/00/00/wKhlQFs6RCeAY0pHAAJx5ZjNDEM428.jpg,tags: [java, dev]}}]}
}结果分析: 建立索引时, description 字段 term 倒排索引 java 2,3 程序员 3 搜索时直接找 description 中含有 java 的文档 2,3并且 3 号文档含有两个 java 字段一个程序员所以得分高排在前面。2 号文档含有一个 java排在后面。
5.minimum_should_match
minimum_should_match 是 Elasticsearch 中布尔查询Boolean Query的一个重要参数它用来指定在执行查询时should 子句至少应该匹配的子句数量或百分比。这个参数可以是具体的数字也可以是百分比或者它们的组合。 具体数字如果 minimum_should_match 设置为一个整数它表示至少需要匹配的 should 子句的数量。例如如果有 4 个 should 子句设置为 2 意味着文档必须至少满足其中的 2 个子句。 百分比如果设置为百分比它表示至少需要匹配的 should 子句的百分比。例如如果有 6 个 should 子句设置为 “50%” 意味着至少需要匹配 3 个子句6 的 50%向下取整。 组合使用可以使用百分比和固定值的组合如 “390%”表示至少需要匹配 3 个子句或总数的 90%以较大者为准。 默认值如果 bool 查询包含至少一个 should 子句而没有 must 或 filter 子句则 minimum_should_match 的默认值为 1。这意味着至少有一个 should 子句需要匹配。如果 bool 查询中包含 must 或 filter 子句则 minimum_should_match 的默认值为 0意味着 should 子句可以不满足任何条件。 特殊语法可以使用特殊的语法来更精确地控制匹配条件例如 “2-25% 9-3”这表示如果有 1 或 2 个子句则都需要匹配如果有 3-9 个子句则需要匹配除了 25%之外的所有子句如果有 9 个以上的子句则需要匹配除了三个之外的所有子句。
这个参数的使用可以根据查询的具体需求来调整以达到最佳的查询结果和性能平衡。正确使用 minimum_should_match 可以提高查询的准确性和召回率使得搜索结果更加符合用户的预期。
6.embedding_dim
在 Elasticsearch 中embedding_dim是一个与向量搜索相关的参数它指定了存储在dense_vector字段中的向量的维度。这个参数在创建索引时定义并用于指定向量字段的维度大小。当索引设置为 true 时embedding_dim的值不能超过 1024当索引设置为 false 时可以不超过 2048。这个值必须与后续写入的向量维度一致。
embedding_dim参数直接影响搜索结果因为它决定了文档向量在向量空间中的表示。在进行向量搜索时Elasticsearch 会使用这个参数来计算查询向量与文档向量之间的相似度。例如使用余弦相似度或欧几里得距离等度量标准来找到与查询向量最相似的文档向量。如果embedding_dim设置不正确可能会导致搜索结果的相关性降低因为向量之间的比较可能不准确。
在实际应用中embedding_dim的选择取决于所使用的机器学习模型生成的向量维度。例如如果使用 BERT 模型生成的向量是 768 维的那么在 Elasticsearch 中创建索引时embedding_dim应该设置为 768以确保文档向量可以正确存储和检索。
例如如果你使用 BERT 模型、GloVe、Word2vec 或者 ChatGPT Embedding API 等将文本转换为向量你需要在创建索引时指定dims参数其值应与生成的向量维度相匹配。这样Elasticsearch 就可以正确地存储和索引这些向量以便进行高效的相似度搜索。
在实际应用中embedding_dim参数的使用可以帮助实现语义搜索通过比较查询向量和文档向量的相似度来检索文档从而提供更加相关和准确的搜索结果。这种基于向量的搜索方法可以用于各种应用场景如图像搜索、音乐推荐、文本分类等。 觉得有用的话点个赞 呗。 ❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正 如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧