学习
实践
活动
专区
工具
TVP
写文章

LuceneSolrElasticSearch搜索问题案例分析

最近收集的两个搜索的case,如下: 案例一: 使用 A关键词:“中国诚通控股公司”搜索,不能搜到 B结果“中国诚通控股集团有限公司” 从关键词字面上看,确实不应该出现这种问题,因为A的关键词完全被 B包含,如果说搜索B,搜不到A到还可以接受,因为 在关键词越长的情况下,term之间是AND的关系,这样返回结果集就越少,这一点从Google或者其他电商的搜索都可以得到测试确认, 看到这种问题, 中文分词的问题,一般是由词库引起的,那么如何解决上面的问题呢? 这时才会发现无论你怎么改,都有引发一些新的问题,所以搜索引擎对中文检索来说,如果能保证90%的搜索效果是最优的, 就已经是非常不错的结果了,下面接着谈: 既然AND+OR+修改词库的方式,都不太理想 这样以来,无论你有多少种变化方式,在搜索引擎看来,就有只有一种原始 状态,把复杂的问题简单化,然后操作,是不错的一种处理方式,反映到这个例子中,我们可以使用同样的办法,比如有限责任公司,在索引和搜索的时候

52640
  • 广告
    关闭

    新年·上云精选

    热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    搜索推荐系统延迟反馈问题

    作者:杰少 CVR预估中的延迟反馈问题 在很多推荐搜索的建模中,我们经常会使用D+1天的数据作为label,从1~D天的数据中的进行特征抽取等工作,和我们时间序列问题建模类似,但和很多其他的时间序列问题建模不一样的地方在于 但是在电商的问题中,就存在下面这种情况: D+1天未购买可能并不一定是真正意义上的未购买,而可能是加入购物车或者意愿清单了, 只是没有在当天下单, 而是过了一天在D+2天的时候下了单, 而这样的标签如果我们直接默认其为负样本就会有较大的问题 这在搜索推荐系统中,我们称之为延迟反馈的问题。 炼 问题严峻性 看到这么个描述,我们似乎有了一个直观的理解,但是可能并不会过于重视,我们直观感受是,是的,但是可能比例不会很高吧,有必要重视吗? 这么看来问题还是十分严峻的,那么如何解决该问题呢? 问题转化 image.png 1.3.2.3 假设 image.png 1.3.2.4 问题表示 image.png 1.3.2.5 损失函数 & 问题求解 image.png 1.3.3 小结 本文针对转化回传的延迟问题提出了一种新的建模方式

    16820

    【图论搜索专题】如何使用「双向 BFS」解决搜索空间爆炸问题

    双向 BFS 经过分析,BFS 确实可以做,但本题的数据范围较大: 朴素的 BFS 可能会引发「搜索空间爆炸」的问题。 随着层数的加深,这个数字的增速越快,这就是「搜索空间爆炸」问题。 ? 在朴素的 BFS 实现中,空间的瓶颈主要取决于搜索空间中的最大宽度。 「双向 BFS」 可以很好的解决这个问题: 同时从两个方向开始搜索,一旦搜索到相同的值,意味着找到了一条联通起点和终点的最短路径。 ? 问题求以 beginWord 为源点,以 endWord 为汇点的最短路径。 借助这个题,我向你介绍了「双向 BFS」,「双向 BFS」可以有效解决「搜索空间爆炸」问题。 对于那些搜索节点随着层数增加呈倍数或指数增长的搜索问题,可以使用「双向 BFS」进行求解。

    25051

    关于ElasticSearch搜索效果的问题分析

    集群搜索问题 如何聚合多个节点或分片的数据生成返回结果 在对Mysql进行分库分表的时候,经常会遇到一个问题:如果查询的数据分散在多张表中,因为涉及到组合多种表的数据,将会非常麻烦;对于有些分页场景,更是一个灾难 ElasticSearch也是分布式的,当数据分散与多个节点或者分片上时,他是如何解决数据聚合问题的呢?另外,搜索基本都需要排序,如何解决排序问题呢? ES整体流程 假设有N个分片,数据可能分散在这N个分片上,ES搜索时,整体操作过程是: S1: 客户端将会同时向N个分片发起搜索请求。 S2: 这N个分片基于本分片的内容独立完成搜索,然后将符合条件的结果全部返回。 S3: 客户端将返回的结果进行重新排序和排名,最后返回给用户。 有经验的开发很容易看出来,这里有两个问题: 数量问题。 相关搜索问题 ES是如何将相关度高的内容能放在前面的?

    59510

    关于ElasticSearch搜索效果的问题分析!

    集群搜索问题 如何聚合多个节点或分片的数据生成返回结果 在对Mysql进行分库分表的时候,经常会遇到一个问题:如果查询的数据分散在多张表中,因为涉及到组合多种表的数据,将会非常麻烦;对于有些分页场景,更是一个灾难 ElasticSearch也是分布式的,当数据分散与多个节点或者分片上时,他是如何解决数据聚合问题的呢?另外,搜索基本都需要排序,如何解决排序问题呢? ES整体流程 假设有N个分片,数据可能分散在这N个分片上,ES搜索时,整体操作过程是: S1: 客户端将会同时向N个分片发起搜索请求。 S2: 这N个分片基于本分片的内容独立完成搜索,然后将符合条件的结果全部返回。 S3: 客户端将返回的结果进行重新排序和排名,最后返回给用户。 有经验的开发很容易看出来,这里有两个问题: 数量问题。 相关搜索问题 ES是如何将相关度高的内容能放在前面的?

    23130

    算法:堆栈与深度优先搜索(迷宫问题

    现在我们用堆栈解决一个有意思的问题,定义一个二维数组: int maze[5][5] = {   0, 1, 0, 0, 0,  0, 1, 0, 1, 0,  0, 0, 0, 0, 0,  0, 程序在while循环的末尾插了打印语句,每探索一步都打印出当前迷宫的状态(标记了哪些点),从打印结果可以看出这种搜索算法的特点是:每次探索完各个方向相邻的点之后,取其中一个相邻的点走下去,一直走到无路可走了再退回来 这称为深度优先搜索(DFS,Depth First Search)。探索迷宫和堆栈变化的过程如下图所示。 ? 如果在探索问题的解时走进了死胡同,则需要退回来从另一条路继续探索,这种思想称为回溯(Backtrack),一个典型的例子是很多编程书上都会讲的八皇后问题

    76290

    搜索、推荐、广告中的曝光偏差问题

    在广告场景下,最典型的就是训练 cvr 模型时,训练样本都是 post clicked 的,但是 serving 时,cvr 模型面临的是所有被召回的样本;这类问题也被称为 exposure bias 下面主要详细描述一些应对 exposure bias 的方法,值得注意的是,这里的 selection bias 跟 exposure bias 面临的问题是一致的,因此这里的方法也会一并归纳;bias Solutions to Exposure Bias exposure bias 也被称为 Sample Selection Bias(SSB), 本质上是一个 「training 和 serving 不一致的问题 这个问题往往是由于具体业务场景的限制,导致 training data 中的样本只是其 serving 时的很小一部分,因为其他的样本没被曝光/点击,导致了无法得到其 label。 针对这个问题,当前有以下几种解决思路(不限于上面综述的 paper) (1) 「Data Augmentation」:这个是最朴素的想法,就是尽可能将那些没进入训练数据集的样本利用上,因此不少研究也是给

    1.1K21

    ES搜索提示unknown field 问题记录

    项目场景: 软件环境: ElasticSearch 7.17.3 org.elasticsearch.client 7.9.0 ---- 问题描述 提示:这里描述项目中遇到的问题: 最近运维迁移了一个环境 QueryBuilders.termQuery("type", "a_table")); 在新的环境,调用都出现了 unknown field [disable_coord]的错误,是ElasticSearch版本问题 :2235] [bool] unknown field [disable_coord]" } }, "status":400 } ---- 原因分析: 提示:这里填写问题的分析 默认是false 难道是因为ES客户端API的这个属性,对应的ElasticSearch不支持,去官网和网上搜索资料也没找到对应的,所以就先记录一下问题 ---- 解决方案: 提示:这里填写该问题的具体解决方案 getJSONObject("bool").remove("disable_coord"); 初步猜想是因为ES版本和客户端API的不兼容,但是因为改版本影响比较大,也没找到根本原因,所以本博客只好先记录问题

    16320

    最优二叉搜索问题(Java)

    最优二叉搜索问题(Java) 1、前置介绍 2、算法设计思路 2.1 最优二叉搜索树的结构 2.2 一个递归算法 2.3 计算最优二叉搜索树的期望搜索代价 3、代码实现 4、复杂度分析 5、参考资料 在表示S的二叉搜索树中搜索元素x, 返回的结果有以下两种情形: 在二叉搜索树的内结点中找到 「x=xi」; 在二叉搜索树的叶结点中确定x属于 「(xi, xi+1)」。 每次搜索要么成功(找到某个关键字ki)要么失败(找到某个伪关键字di),因此有以下公式: 对一个n=5的关键字集合及如下的搜索概率,构造的两棵二叉搜索树: i 0 1 2 3 4 5 pi 0.15 如果选取期望搜索代价最低者 作为根结点,可得最终递归公式⑥: e[i,j]的值给出了最优二叉搜索树的期望搜索代价。 虽然我们将看到如何计算root[i, 月的值,但是利用这些值来构造最优二叉搜索树的问题将留作练习(练习15.5-1)。

    5640

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 图像搜索

      图像搜索

      图像搜索(Image Search)基于腾讯云的图像解决方案,集成了图像检索、超细粒度元素挖掘和图像匹配等技术

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券