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

如何合理控制solr查询命中数量和质量?

solr里面,如何合理控制命中数量? 在一些日常文章中或一些信息中,都有一些高频词,而这些高频词,在参与查询时,往往会造成,大量结果集命中。 什么意思呢?...我们分析下在全文检索中两个重要概念 ---- 查准率 召全率 在Lucene,Solr和ElasticSearch里面一般分词查询结果都会对这两个率做一个最好效果调配,而这个默认相关性评分规则就是...,分词后情况如下: 车道 沟 北里 小庄 十里 香 饭店 注意,在整个索引库里面大部分要搜索数据都含有北京和饭店两个词,所以这一下几乎会索引里面的所有数据都查询出来了,虽然查询排名还可以...,但命中量太大了,超过4页之后几乎都是北京xxxx饭店了,跟主题搜索没啥关系,所以我们可以采取一些策略来避免这种情况: solr默认搜索策略,是分词后termor关系,最后结果集全部返回,如果我们改成...&mm=80%25 然后查询即可,mm是最小匹配数量,可以是个固定值,也可也是个百分比,因为散仙是在solradmin页面查询,所以需要把%替换成url字符%25,这样才能正确发送到solr服务端

1.9K50

Piglimit无效(返回所有记录)sample有效

pig中,limit可以取样少部分数据,但有很多问题,比如数据不能少于10条,否则返回全部。...今天又遇到另一个问题: group后数据,limit无效:也就是group后数据,不能用limit,估计是含group结构不行(没验证) 相比而言sample比较好,我试了一下是可以,对group...后数据也能有作用 测试代码如下: origin_cleaned_data = LOAD '$cleanedLog' as 省略; STORE  origin_cleaned_data INTO '/user...0,1,2,3, g_log = group test_data by (2,4);DESCRIBE g_log; alldata = limit g_log 10; dump alldata;--返回了全部数据...,limit 无效 返回group结构如下 origin_cleaned_data: { wizad_ad_id: chararray, guid: chararray, Android_id: chararray

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

MongoDB(13)- 查询操作返回指定字段

查询文档返回所有字段 > db.inventory.find( { status: "A" } ) { "_id" : ObjectId("60b7177a67b3da741258754b"),..." }, "instock" : [ { "warehouse" : "B", "qty" : 15 }, { "warehouse" : "C", "qty" : 35 } ] } 默认情况下,会返回文档所有字段...) query:可选项,设置查询操作符指定查询条件 projection :可选项,指定要在与 query 匹配文档返回字段,如果忽略此选项则返回所有字段【本节重点】 仅返回指定字段和 _id..._id 字段 返回嵌套文档指定字段 > db.inventory.find(...:status 等于 A 返回字段:_id、item、status、size 嵌套文档 uom 字段 关于指定嵌套文档字段,4.4 新增新写法 > db.inventory.find( {

5.9K30

MongoDB(12)- 查询嵌入文档数组

查询嵌套在数组中文档 查询 instock 数组中包含 { warehouse: "A", qty: 5 } 所有文档 > db.inventory.find( { "instock": {...: "paper", "instock" : [ { "warehouse" : "A", "qty" : 60 }, { "warehouse" : "B", "qty" : 15 } ] } 在文档数组中嵌入字段上指定查询条件...,如果不知道文档准确索引值,只能按照以下格式 数组字段名.文档字段名 instock.qty 使用数组索引查询嵌入文档字段 上面的栗子是直接根据字段名查找 在 instock 数组中,第一个元素包含字段...(多个)查询条件 栗子一 找到在 instock 数组中【至少有一个嵌入文档包含 qty > 10,以及至少有一个嵌入文档(但不一定是同一个嵌入文档)包含 qty ≤20 】文档 > db.inventory.find...前言 上面的栗子都是单个嵌套文档或多个嵌套文档满足多个查询条件即可 如果想确保单个嵌套文档必须同时满足多个查询条件呢?

4.5K10

查询网站所有的子域名方法 为什么要查询

大家平时上网都是需要使用域名,而其中有不少用户都想要了解更多关于域名和服务器信息,此时可能还会涉及到查询网站所有的子域名操作。...image.png 如何进行域名查询 查询网站所有的子域名听起来有点复杂,但其实并不是特别难事情,因为现如今已经有一些网站和工具可以提供此项服务了。...有的公司在一些域名平台上注册,通常这些平台也可以提供查询服务,子域名越多,所需要时间也会相应增加,不过并非所有的子域名都可以查出来,所以要根据自己需要选择工具。...查询网站所有的子域名是有必要,原因首先是子域名数量如果是多个,那么很可能会存在漏洞,无法保障安全,所以搜集子域名信息就需要被重视了。...再者如果想要得知注册者、注册和到期日期等信息,也可以通过查询获得。 以上就是关于查询网站所有的子域名相关介绍,可见查询途径绝非一种,但是否好用就见仁见智了,适合自己才是最好方式。

6K20

宇宙最好用编程文档查询工具

文章简介 在编程过程中,我们经常会遇到这样情况,查一些语言api,大多情况都是直接去官网查询。但总会遇到这样几种情况: 查询文档种类多,浏览器打开很多窗口。...该工具是一个文档集成平台,几乎包含了所有的编程语言api文档,同时也具备了丰富插件和搜索功能。 ? 功能介绍 Dash不仅仅支持文档查询,还支持第三方文档资源。...Dash是一个支持离线查询文档文档集成软件。您可以选择下载哪些文档集,Dash将负责其余文档,确保它们是最新。您还可以生成自己文档集、请求文档集或从第三方源下载文档集。 ?...第三步,使用查询功能。 当你点击搜索框时,会默认罗列出你当前安装过文档。你可以选择具体文档,进入到文档页面,也可以输入你要查询内容。 ? ? ?...直接在软件启动页顶部搜索框输入你要查询内容,下方会根据你当前安装过文档,全局模糊匹配。 ? 同时,还支持第三方平台查询。例如下列查询中,会自动弹出第三方平台查询条件。 ?

1.5K30

SpringBoot返回枚举对象中所有属性以对象形式返回(一个@JSONType解决)

一些固定不变数据我们可以通过枚举来定义,减少对数据库查询。是一种常见开发技巧! 常见场景需求是:通过某一个属性获取对应枚举属性另一个值;还有就是常量枚举,比如一下统一返回状态和编码!...==小编需求是把枚举中所有属性都取出来,转成实体类那种返回给前端!== 最简单解决就是拿到所有的然后便利加到新集合里,这样还需要定义一个实体类来接收转一下!...这样有点麻烦,小编也是无意发现了,项目中有以前大佬留下来一个注解@JSONType(serializeEnumAsJavaBean = true),一加上只需要我们使用枚举.values()即可直接帮助我们返回

3.3K10

Solr查询处理简介

一、Solr查询表单详解 ? Solr管理控制台查询表单 所有solr核心服务有关交互,如查询处理,都是通过HTTP请求执行。...Solr查询表单所有参数 查询参数概览表: 参数 取值 描述 defType /select 选择用来处理查询查询分析器。 q(query) iPod 主查询参数。...二、Solr搜索返回机制 前面介绍了Solr查询请求提交,现在了解一下solr搜索返回机制。...本小节核心是Solr返回查询匹配文档集,还包括为达到优质搜索体验solr客户端需要处理其他信息。搜索体验优化由solr客户端负责。...返回搜索结果按照得分由高到低排序,文档得分越高,说明该查询越相关。 把查询语句修改为iPod power,执行查询。 结果:返回与之前查询结果相同三个文档,并且排序也相同。

1.5K20

浅谈laravel数据库查询返回数据形式

版本:laravel5.4+ 问题描述:laravel数据库查询返回数据不是单纯数组形式,而是数组与类似stdClass Object这种对象结合体,即使在查询构造器中调用了toArray(),也无法转换成单纯数组形式...(以上图片来源于laravel学院5.3版本到5.4版本升级手册) 如上图所示:Laravel不再支持在配置文件中定制PDO“fetch mode”,取而代之,总是使用PDO::FETCH_OBJ,...问题解决: 打开app/Providers/EventServiceProvier.php,如文档上所说,我们要先引入Illuminate\Database\Events\StatementPrepared...数据库查询返回数据就是单纯数组形式。...($event) {       $event- statement- setFetchMode(\PDO::FETCH_ASSOC);     });   } } 以上这篇浅谈laravel数据库查询返回数据形式就是小编分享给大家全部内容了

2.2K31

Solr理论基础

搜索引擎是为了解决传统数据库缺点而产生。它主要是用来搜索大量非结构化文本,并返回最相关搜索文本。 Solr简介 Solr是搜索引擎一种,主要用来文档存储与检索。...首先,使用布尔模型过滤出不符合用户查询所有文档。然后,使用向量空间模型通过计算和绘制将查询文档转换为向量,在此基础上计算相似度得分。 ?...查准率计算公式如下(介于0.0和1.0之间):正确匹配文档数量/返回文档数量 查全率 查全率衡量返回搜索结果是否正确。查全率衡量则是搜索结果全面性。...搜索规模化 此部分我们将介绍Solr存储方式,以探讨如何可以拓展到处理数十亿文档和无限查询请求数量。 非规范性文档 Solr核心概念是所有文档去除规范化。...非规范化文档文档所有字段是自包含,允许这些字段值在多个文档中重复出现。下面通过和关系型存储结构来对比二者差异。 ?

1.5K30

Apache nutch1.5 & Apache solr3.6

Solr 拥有像 web-services API 独立企业级搜索服务器。用 XML 通过 HTTP 向它添加文档(称为做索引),通过 HTTP 查询返回 XML 结果。...按 id 删除将删除具有指定 id 文档;按查询删除将删除查询返回所有文档。 Lucene中操作索引也有这几个步骤,但是没有更新。Lucene更新是先删除,然后添加索引。...start=15 返回从第 15 个结果开始结果。 rows 返回文档最大数目。默认值为 10。 rows=25,返回25个结果集 fq 提供一个可选筛选器查询。...查询结果被限制为仅搜索筛选器查询返回结果。筛选过查询Solr 进行缓存。它们对提高复杂查询速度非常有用。 任何可以用 q 参数传递有效查询,排序信息除外。...hl=true fl 作为逗号分隔列表指定文档结果中应返回 Field 集。默认为 “*”,指所有的字段。“score” 指还应返回记分。

1.8K40

MyBatis练习(2)查询所有的一级分类,同时查询二级分类,以及查询二级分类下所有图书

一对多 * 查询所有的一级分类,同时查询二级分类,以及查询二级分类下所有图书 CREATE TABLE category( cid VARCHAR(32) PRIMARY KEY, cname...1) 查询指定父分类所有分类(单表) •编写功能接口 package com.czxy.ssm.mapper; import com.czxy.ssm.domain.Category; import...* * @author 桐叔 * @email liangtong@itcast.cn */ public interface CategoryMapper { /** * 查询指定父分类所有分类...System.out.println(category); } //3 释放 MyBatisUtils.commitAndclose(); } } 2) 查询指定父分类所有分类...twoCategory); } } //3 释放 MyBatisUtils.commitAndclose(); } } 3)查询指定父分类所有分类

73720

SolrCloud分布式搜索源码分析

这样当查询时候, 多个shard可以并发查询, 然后再将所有shard返回结果做合并....(这个是solr官方文档描述, 分布式索引这块源代码我还没有读) 本文主要是讲分布式查询过程, 思路来源于我对于solr源码阅读与理解....为了执行查询, 会发送请求给所有涉及到shard分片所在服务器(实际是每个shard所有replica中任意一个), 我们暂时叫它们ShardNode....ID和score(或其他排序条件), 然后3个ShardNode会并发查询自己分片子索引, 得到自己子索引内得分前20文档返回给ClientNode....当前设计缺陷 分阶段获取过程中索引一致性问题: 目前分布式查询分了两个阶段, 阶段1发起第一次请求从各分片获取TopN ids, 阶段2合并所有分片ids后再发起第二次请求去各分片获取要返回字段

65210

全文检索引擎Solr系列——入门篇

文档就是用来搜索数据源,现在就可以通过管理界面搜索关键字”solr”,具体步骤是: 点击页面下Execute Query按钮后右侧就会显示查询结果,这个结果就是刚才导入进去solr.xml...solr支持丰富查询语法,比如:现在想搜索字段name里面的关键字”Search”就可以用语法name:search,当然如果你搜索name:xxx就没有返回结果了,因为文档中没有这样内容。...实际上solr会根据文档字段id来唯一标识文档,如果导入文档id已经存在solr中,那么这份文档就被最新导入同id文档自动替换。...deletedDocs:重复post文件会替换掉老文档,同时deltedDocs值也会加1,不过这只是逻辑上删除,并没有真正从索引中移除掉 删除数据 通过id删除指定文档,或者通过一个查询来删除匹配文档...现在把刚刚删除文件重新导入Solr中来,继续我们学习。 删除所有数据: 1 http://localhost:8983/solr/collection1/update?

98110

SpringBoot 系列教程 Solr查询使用姿势小结

200115-SpringBoot 系列教程 Solr查询使用姿势小结 接下来进入 solr CURD 第四篇,查询使用姿势介绍,本文将主要包括以下知识点 基本查询操作 fq 查询 fl...然后在 solr 中,写入一些数据,供我们查询使用,可以通过控制台方式写入,也可以通过190526-SpringBoot 高级篇搜索 Solr文档新增与修改使用姿势 这篇文档 case 添加...查询 solr 文档对应 POJO 如下,(注意 solr主键 id 为 string 类型,下面定义中用是 Integer,推荐与 solr 数据类型保持一致) @Data public...主键查询 支持单个查询和批量查询,三个参数,第一个为需要查询 Collection, 第二个为 id/id 集合,第三个为返回数据类型 private void queryById() {...,查了返回查询文档之外,还会给出满足条件文档数量,可以通过Page#getTotalElements获取, 上面 case 输出结果如下 queryPageSize: totalDocNum=6

74340

查询top1数据 想到关于select 返回数据

最近工作中有遇到查询分组第一条问题,由此想到了一些关于 select 返回数据顺序几个问题。 select 返回数据顺序在没有指定排序情况下是不确定,是一个集合。集合本身是没有顺序!!...对select结果没有任何条件进行select,顺序是怎么样? 对于查询结果集直接进行select查询,特别是已排序结果集,会改变数据顺序。 ?...对于分组获取第一条数据,很多博客给方案是先对数据进行排序,再对结果集进行分组,这样就能够获取到分组第一条数据了。说实话,这个很符合逻辑,我之前确实也是这么想。...但是前提是排完序,到分组前,数据顺序依然是排序后顺序才可以。 第一个问题,其实已经说明了,对于一个排完序结果集载进行一次查询查询结果顺序是会变化,跟内层排序结果集并不是一致。...所以我们在顺序不正确数据上进行分组,拿到数据也必然是不准确

1.2K30
领券