schema与查询11点注意事项

简介: 假期梳理了之前在新浪博客的文档,将一些有用的内容搬到这里。本文介绍solr schema与查询注意事项。

schema.xml 中定义lucene索引字段名称,schema中不应该出现歧义的域名称。

以下列举的是需要避免的:

  1. fq: 走http协议,fqfilterquery的保留字,如果正常field中也有,可能解析出问题
  2. q  类似fq
  3. fl: 类似fq
  4. _val_: function排序的一种,同样有这个域名,在queryparse时候可能出现
  5. docIdlucene内部id,如果schema定义了,那么fl 中返回的域名可能就混淆
  6. scorelucene得分字段,如果schema也定义了,并且当fl中返回score的时候,也就混淆了dismax: dismax 解析func: 函数查询解析
  7. 区间查询

fielda[11 TO 22]  闭区间

fielda:{ 11 TO 22} 开区间

fielda:11 AND fielda:{ 11 To 22}  半开半闭区间一定是配对出现的
8. AND OR  用在
solrj中; + -   用在 url

  1. “” 表示一组,整体的意思,查询的时候分词效果不一样,需避免错误使用。() 括号表示一个clause,好比四则运算里面的括号


  1. 频率位置与tfitf与索引体积  

    如果tfitf需要屏蔽,也就是文本的长度、位置、频率不影响得分,此时定制siliarity,复写其中的得分因子为1.0f,对应schema中域的类型,去掉频率位置信息。    如果需要tfitf,就不可以全部屏蔽,需要部分开启,看业务决定  


  1. 文本排序与业务质量的平滑。命中fieldA 比命中fieldB 权重大,一方面直接query

boost。如果命中fieldA 的时候,由另外值来排序,命中fieldA的时候tfitf不影响得分,存在另外一个问题。eg 输入淘宝,命中淘宝杭州、 淘宝商城、 淘宝taobao 、淘宝淘宝 、淘宝,那么另外值如果不是淘宝得分最高,而是淘宝taobao 最高,某种角度看,不是特别友好。如果是淘宝淘宝的命中,似乎也不好。这样容易滋生作弊。  

目录
相关文章
|
3月前
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之相同的SQL语句在不同时间执行EXPLAIN计划显示出不同的索引类型,是什么原因
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之相同的SQL语句在不同时间执行EXPLAIN计划显示出不同的索引类型,是什么原因
|
2月前
|
SQL Oracle 关系型数据库
SQL添加字段记录详解:技巧与方法实践
在数据库管理中,经常需要向表中添加新的字段(列)或向现有字段中插入新的记录(行)
|
5月前
|
SQL 数据库
Doris将查询的结果数据直接insert到另一个表的语法
【4月更文挑战第20天】Doris将查询的结果数据直接insert到另一个表的语法
305 0
|
SQL
删除SQL表数据时存在约束的解决方法
删除SQL表数据时存在约束的解决方法
190 0
|
SQL Oracle 关系型数据库
SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决
SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决
396 0
|
SQL
查询表字段信息sql
查询表字段信息sql
93 0
|
SQL 分布式计算 关系型数据库
SQL 语法--表数据导入方式 | 学习笔记
快速学习 SQL语法--表数据导入方式
148 0
SQL 语法--表数据导入方式 | 学习笔记
|
关系型数据库 MySQL 数据库
在MySQL数据库中查询数据通用的 SELECT 语法
在MySQL数据库中查询数据通用的 SELECT 语法
154 0
|
SQL 存储 数据库
SQL 基础(二)数据表的创建、约束、修改、查看、删除
SQL 基础(二)数据表的创建、约束、修改、查看、删除
259 0
SQL 基础(二)数据表的创建、约束、修改、查看、删除
|
SQL 关系型数据库 MySQL
MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型
MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型
394 0
MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型
下一篇
无影云桌面