当前位置: 首页 > news >正文

玄天教学网站建设建微信网站

玄天教学网站建设,建微信网站,哪有做网站的公司,网站制作视频教程下载文章目录 1. multi_match 查询的类型1.1 best_fields#xff08;默认#xff09;1.2 most_fields1.3 cross_fields 2. 不同类型的示例查询示例数据#xff1a; 3. 示例 1: 使用 best_fields查询#xff1a;说明#xff1a; 4. 示例 2: 使用 most_fields查询#xff1a;说… 文章目录 1. multi_match 查询的类型1.1 best_fields默认1.2 most_fields1.3 cross_fields 2. 不同类型的示例查询示例数据 3. 示例 1: 使用 best_fields查询说明 4. 示例 2: 使用 most_fields查询说明 5. 示例 3: 使用 cross_fields查询说明 6. 返回的结果对比7. 总结对比8. 总结 在 Elasticsearch 中multi_match 查询是用来在多个字段中查找匹配的文本。它有不同的 type类型例如 most_fields、best_fields 和 cross_fields这些类型在多字段查询时的匹配策略不同。了解这些类型的区别有助于在不同的场景下做出正确的查询选择。 1. multi_match 查询的类型 1.1 best_fields默认 best_fields 是 默认类型。它在多个字段上查找匹配项并返回与单个字段最匹配的结果。也就是说ES 会计算每个字段的相关性然后返回最佳的字段匹配结果。 适用场景当你希望查询中的单个字段更重要时best_fields 适合。匹配逻辑多个字段参与查询但只会选取最好的字段结果。 1.2 most_fields most_fields 会把多个字段的匹配结果合并到一起计算最匹配的字段的相关性。每个字段会被视为一个独立的匹配源并且它们的分数会累加在一起。 适用场景当你希望多个字段的匹配对结果有较大影响时most_fields 适合。匹配逻辑多个字段的匹配结果累加最终的得分是字段得分的总和。 1.3 cross_fields cross_fields 适用于对多个字段中的数据进行组合查询。它将多个字段合并在一起类似于一个字段查询。这对于多字段中包含相同概念的情况例如多个单词分布在不同的字段尤其有用。 适用场景当你希望将多个字段视为同一个字段的组合时cross_fields 适合。匹配逻辑多个字段被视为一个大的字段进行匹配。 2. 不同类型的示例 假设你有一个包含以下字段的 products 索引 {product_name: Wireless Mouse,description: A wireless mouse with ergonomic design,category: Electronics }你想要对这几个字段进行查询可以使用 multi_match 来搜索多个字段。 查询示例数据 POST /products/_bulk { index: { _id: 1 } } { product_name: Wireless Mouse, description: A wireless mouse with ergonomic design, category: Electronics } { index: { _id: 2 } } { product_name: Wired Keyboard, description: A keyboard with ergonomic design, category: Electronics } { index: { _id: 3 } } { product_name: Wireless Keyboard, description: Wireless keyboard for gaming, category: Electronics }3. 示例 1: 使用 best_fields best_fields 是默认类型表示从多个字段中选取相关性最强的字段。 查询 POST /products/_search {query: {multi_match: {query: wireless mouse,fields: [product_name, description],type: best_fields}},explain: true }说明 这个查询会在 product_name、description 字段上查找匹配并根据相关性返回最佳的字段匹配结果。如果 product_name 字段匹配度最高ES 会选择 product_name 字段作为最终匹配字段。 4. 示例 2: 使用 most_fields most_fields 会将多个字段的相关性累加。 查询 POST /products/_search {query: {multi_match: {query: wireless mouse,fields: [product_name, description],type: most_fields}},explain: true }说明 这个查询会把 product_name、description 两个字段的匹配结果合并计算它们的总相关性并返回结果。比如product_name 和 description 都与查询的 wireless mouse 匹配时它们的相关性分数会被加在一起。 5. 示例 3: 使用 cross_fields cross_fields 用于处理多个字段中包含的同一概念时可以把它们当作一个大的字段进行匹配。 查询 POST /products/_search {query: {multi_match: {query: wireless mouse,fields: [product_name, description],type: cross_fields}},explain: true }说明 这个查询会把 product_name、description 视为一个联合字段来匹配查询词 wireless mouse。即使 wireless mouse 分布在多个字段中例如product_name 包含 wirelessdescription 包含 mousecross_fields 会将它们合并为一个整体进行匹配。 6. 返回的结果对比 假设你使用了相同的查询词 wireless mouse结果的排序可能会有所不同具体取决于查询使用的类型。 best_fields选择一个字段最匹配的字段然后返回与该字段最匹配的文档。most_fields计算多个字段的得分并返回得分最高的文档。cross_fields将多个字段视为一个字段进行匹配从而查找多个字段中的联合匹配。 7. 总结对比 类型描述适用场景best_fields在多个字段上查找匹配只选择相关性最强的字段作为最终匹配结果默认。如果只关注单个最相关字段适用于精确匹配。most_fields将多个字段的相关性得分累加最终返回得分最高的结果。如果多个字段的匹配结果对最终排序有较大影响。cross_fields将多个字段合并为一个整体进行查询适用于查询词分布在不同字段中的情况。如果多个字段包含查询的不同部分且它们属于相同的概念。 8. 总结 best_fields 适用于你只关心最相关的字段结果时通常用于精确匹配查询。most_fields 适用于你希望多个字段的匹配都能影响查询结果时适合宽松匹配。cross_fields 适用于你希望将多个字段视为一个字段的组合时尤其是在查询词分布在不同字段中时。
http://www.w-s-a.com/news/802177/

相关文章:

  • 织梦网站模板后台密码找回企业vi设计公司性价比高
  • php 爬取网站所有链接传奇手游发布网站
  • 免费软文网站wordpress中文名注册
  • 企业网站建设研究目的意义怎样设计一个公司网站
  • 怎么架构网站便民信息发布平台
  • 网站 建设 现状网站推广合同需要缴纳印花税吗
  • 熊猫头表情包制作网站wordpress 缺省目录
  • 网站浏览图片怎么做的群晖wordpress升级5.0
  • 25个优秀个人网站设计模板网站建设定位分析论文
  • 在线网站备案站长seo综合查询工具
  • 网站根 html网站建设行业数据
  • 网站公司做的网站有最字设计说明室内设计
  • 在线网站代码生成我想做个百度网站怎么做
  • 网站的建设费用分为长治市建设厅官方网站
  • 做网站都有哪些费用建设免费手机网站
  • 网站 组成代码做网站图片怎么插
  • 2020中国企业500强榜单南宁seo标准
  • 北美购物网站排名烟台专业的网站建站公司
  • 门户网站设计特点营销策划咨询机构
  • 天津做网站就到徽信xiala5中国营销型网站
  • 外汇网站建设制作深圳三站合一网站建设
  • 深圳坂田网站设计公司有哪些学校网站建设管理办法
  • 太原建设银行网站中山营销型网站设计
  • 广东省建设厅官方网站多少钱江苏省江建集团有限公司建设网站
  • 网站开发主流服装网站开发课程设计
  • 在iis里面创建网站wordpress响应式视频
  • 学设计哪个网站好网页设计音乐网站
  • 可以自己做斗图的网站上海模板建站多少钱
  • 山东川畅信息技术有限公司网站建设网站开发任务书
  • 网站排版设计欣赏搭建公司介绍网站