首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Elasticsearch使用:自定义搜索结果的得分

在使用 Elasticsearch 进行全文搜索的时候,默认是使用 BM25 计算的 _score 字段进行降序排序的。...当简单的使用几个字段升降序排列组合无法满足我们的需求的时候,我们就需要自定义排序的特性,Elasticsearch 提供了 function_score 的 DSL 来自定义打分,这样就可以根据自定义的...比如,虽然所有的结果都很匹配,但是我们也许不只单单是匹配 Final Fantasy,而且我们想把 user_score 和 critic_score 加进来(虽然你可以使用其中的一个)。...我们的分数和之前的那个 soft_score 结果是不一样的,但是我们搜索的结果的排序是一样的。 在上面的 script 的写法中,我们使用了硬编码,也就是把10硬写入到 script 中了。...搜索后的结果是: { "took" : 2, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1

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

    使用 WordPress Transients API 缓存复杂的 SQL 查询和运算结果

    什么是 WordPress Transients API Transients 是瞬时的意思,WordPress Transients API 是 WordPress 用来缓存一些复杂的 SQL 查询和运算结果的最简单的方法...set_transient() // 保存一个临时数据到缓存中 get_transient() // 从缓存中获取一个临时数据 delete_transient() // 从缓存中删除一个临时数据 如果你使用函数...WordPress Transients API 例子 假设你要获取博客的流量最高的 10 篇文章,这个要设计复杂的 SQL 查询,而流量最高的 10 篇文章一般来说在一段时间(比如:12小时)之内是不会变化的..._posts = get_transient('top_10_posts'); if(false === $top_10_posts){ // 临时变量过期了或者根本就没有创建 // 通过 SQL...如果由于某种原因某篇流行文章删除,或者新的文章发布了,这个时候可能流量最高的文章都可能发生变化,我们需要使用 delete_transient 函数把这个临时变量删除了。

    96210

    Elasticsearch:使用 function_score 及 soft_score 定制搜索结果的分数

    另一个示例可能是视频共享站点上的视频,其中搜索结果可能应该考虑视频的相对受欢迎程度。...在使用 Elasticsearch 进行全文搜索的时候,默认是使用 BM25 计算的 _score 字段进行降序排序的。...细心的读者可能看出来了。我们的分数和之前的那个 soft_score 结果是不一样的,但是我们搜索的结果的排序是一样的。...一个很好的例子是 “trending” 搜索,显示主题中正在迅速流行的项目。 这样的分数不能基于简单的指标(例如“喜欢”或“观看次数”),而必须根据当前时间不断调整。...这次的搜索结果显示 Final Fantasy XIII-2 是得分最高的文档。

    1.6K51

    使用Searx搭建一个私人的搜索引擎平台,可展现GoogleBing等70多种搜索网站的搜索结果

    ,一个基于Python的完全开源免费搜索引擎平台,为你提供来自Google、Bing、Yahoo等70多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便...,自行设置,这里只说下4种参数: language:为搜索语言,默认en-US,如果你的搜索以中文为主,那就改成zh-CN,当然这个语言在搜索界面也可以设置 port:为监听端口,默认8888,可自行修改...这里你也可以不用nano编辑器,直接使用命令修改: #修改language,默认为中文搜索结果 sed -i 's/language : "en-US"/language : "zh-CN"/g' searx...如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的Caddy反代,配置很快。...,记得在高级设置那里将搜索语言设置成你需要的就行了,不然搜出来的结果可能不会让你满意。

    4.2K40

    使用Searx搭建一个私人的搜索引擎平台,可展现GoogleBing等70多种搜索网站的搜索结果

    的完全开源免费搜索引擎平台,为你提供来自Google、Bing、Yahoo等70多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便,有兴趣的可以搭建给需要谷歌的同事或朋友用下...这里你也可以不用nano编辑器,直接使用命令修改: #修改language,默认为中文搜索结果 sed -i 's/language : "en-US"/language : "zh-CN"/g' searx...如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的Caddy反代,配置很快。...3、Nginx配置 如果你使用其它的,这里就大概发个Nginx反代配置,直接添加到配置文件即可,不然搜出来的结果可能不会让你满意。...,记得在高级设置那里将搜索语言设置成你需要的就行了。

    4.2K10

    MySQL数据库层优化基本概念

    使系统快速运行的最重要因素是其基本设计。您还必须知道系统正在执行哪种处理以及其瓶颈是什么。在大多数情况下,系统瓶颈来自以下来源: 磁盘搜索。磁盘查找数据需要花费时间。...使用DBI本身解决了部分可移植性问题,因为它提供了独立于数据库的访问方法。 如果要争取数据库独立性,则需要对每个SQL Server的瓶颈有所了解。...如果您使用特定于给定数据库系统的某些功能(例如REPLACE语句,该功能特定于MySQL),则应通过编码替代方法为其他SQL Server实现相同的功能。...对于图形数据,我们用C语言编写了一个简单的工具,可以处理SQL查询结果并根据这些结果生成GIF图像。该工具也是从解析Web页面的Perl脚本中动态执行的。...您可以从此套件中获取任何程序,并根据自己的需要对其进行修改。这样,您可以尝试使用不同的解决方案来解决问题并进行测试,这对于您而言确实是最快的。

    1.4K20

    2021-06-12:已知一棵搜索二叉树上没有重复值的节点,现在有一个数组arr,是这棵搜索二叉树先序遍历的结果。请根据arr生

    2021-06-12:已知一棵搜索二叉树上没有重复值的节点,现在有一个数组arr,是这棵搜索二叉树先序遍历的结果。请根据arr生成整棵树并返回头节点。...福大大 答案2021-06-12: 先序遍历+中序遍历(搜索树)+不重复值=唯一的二叉树。 解法一 自然智慧。第0位置为根节点,遍历1~N-1位置,找到比0位置大的,那就是属于根的右节点。...process1(pre, start+1, i) head.Right = process1(pre, i, endnot) return head } // 已经是时间复杂度最优的方法了...twoSelectOne(c bool, a int, b int) int { if c { return a } else { return b } } 执行结果如下

    37410

    SQL Server 使用全文索引进行页面搜索

    SQL Server 进程组件: 用户表 这些表包含要进行全文索引的数据。 全文收集器 全文收集器使用全文爬网线程。它负责计划和驱动对全文索引的填充,并负责监视全文目录。...同义词库文件 这些文件包含搜索项的同义词。 非索引字表对象 非索引字表对象包含对搜索无用的常见词列表。 SQL Server 查询处理器 查询处理器编译并执行 SQL 查询。...如果 SQL 查询包含全文搜索查询,则在编译和执行期间该查询都会发送到全文引擎。查询结果将与全文索引相匹配。 全文引擎 SQL Server 中的全文引擎现已与查询处理器完全集成。...断字符和词干分析器 断字符是特定于语言的组件,它根据给定语言的词汇规则查找词边界(“断字”)。每个断字符都与用于组合动词及执行变形扩展的特定于语言的词干分析器组件相关联。...使用同义词库确定的另一个词的同义词(例如,metal 一词可能有 aluminum 和 steel 等同义词)。 ?

    2.9K50

    SQL Server 使用全文索引进行页面搜索

    SQL Server 进程组件: 用户表 这些表包含要进行全文索引的数据。 全文收集器 全文收集器使用全文爬网线程。它负责计划和驱动对全文索引的填充,并负责监视全文目录。...同义词库文件 这些文件包含搜索项的同义词。 非索引字表对象 非索引字表对象包含对搜索无用的常见词列表。 SQL Server 查询处理器 查询处理器编译并执行 SQL 查询。...如果 SQL 查询包含全文搜索查询,则在编译和执行期间该查询都会发送到全文引擎。查询结果将与全文索引相匹配。 全文引擎 SQL Server 中的全文引擎现已与查询处理器完全集成。...断字符和词干分析器 断字符是特定于语言的组件,它根据给定语言的词汇规则查找词边界(“断字”)。每个断字符都与用于组合动词及执行变形扩展的特定于语言的词干分析器组件相关联。...使用同义词库确定的另一个词的同义词(例如,metal 一词可能有 aluminum 和 steel 等同义词)。

    3.3K70

    实战 | 记一次观看YouTube视频,收获一枚价值4300美金的SQL注入

    然后我继续用谷歌搜索前两个目录的名称,因为它们看起来像/vendor-name/software-name,所以我用谷歌搜索Vendor-Name Software-Name,我得到的结果和关于服务器上安装的软件的信息很少...在此之后,我在 GitHub 等上搜索了应用程序的目录结构,但没有任何可用的。 浏览多个结果后,我发现了供应商的YouTube视频解释了如何安装和配置应用程序。...在此之后,我尝试查看 SQL 注入漏洞的其他参数,更改其值对响应没有影响,因此基于错误的 SQLI 是不可能的,所以我想尝试一些基本的Blind SQLI参数上的有效负载。...由于它是 Microsoft 服务器,因此后端数据库很可能是支持批处理查询的 Microsoft SQL Server,我尝试使用无条件时间延迟和参数上最基本的有效负载来诱导一些响应延迟,即waitfor...最常见的方法是使用 DNS(域名服务)协议,因为几乎每个组织都允许传出 DNS 查询,在这种情况下也是如此。 在此之后,一切都是关于谷歌搜索的东西。

    1.1K40

    五大安全研究者必用的搜索引擎

    如果你是第一次使用 Shodan,你可以尝试使用这个搜索语法来进行搜索,相信会有意想不到的收获!...PunkSPIDER 可以搜索的攻击类型包括:跨站脚本(XSS),SQL盲注(BSQLI),操作系统命令注入(OSCI)和 路径穿越(TRAV)。...更多具体的内容就不在这里过多介绍了! 对于 IVRE 显示的 Nmap 主动扫描的结果,如果你觉得查找不方便,你可以使用关键字(这有点类似于 Shodan)来进行过滤查找指定的结果 。...如果你实在不知道该搜索什么, ZoomEye 在页面上也为我们提供了一些比较热门的搜索关键字,你都可以尝试使用下!...除此之外,你应该学会灵活的使用它们。 就像你使用普通的搜索引擎一样,不同的搜索引擎,可能会得到许多不同的查询结果。

    2.4K70
    领券