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 最高,某种角度看,不是特别友好。如果是淘宝淘宝的命中,似乎也不好。这样容易滋生作弊。  

目录
相关文章
|
4月前
|
SQL 数据挖掘 数据库
数据库join类型有哪些?
【8月更文挑战第2天】
170 17
数据库join类型有哪些?
|
存储 关系型数据库 MySQL
MySQL中库/表/字段/主键/用户操作示例与详解
MySQL中库/表/字段/主键/用户操作示例与详解
173 0
|
7月前
|
存储 Oracle 关系型数据库
PostgreSQL 清理表字段的备注脚本
PostgreSQL 清理表字段的备注脚本
|
7月前
|
SQL 数据库
Doris将查询的结果数据直接insert到另一个表的语法
【4月更文挑战第20天】Doris将查询的结果数据直接insert到另一个表的语法
578 0
|
SQL 存储 XML
数据库视频第四章(sql server 2008数据类型、对于表的管理、规则的创建与删除)
数据库视频第四章(sql server 2008数据类型、对于表的管理、规则的创建与删除)
108 0
|
SQL Oracle 关系型数据库
SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决
SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决
470 0
|
关系型数据库 MySQL
Mysql 查询B表的数据新增到A表 (已测试过)
Mysql 查询B表的数据新增到A表 (已测试过)
176 0
Mysql 查询B表的数据新增到A表 (已测试过)
|
SQL
查询表字段信息sql
查询表字段信息sql
107 0
|
SQL 存储 数据库
SQL 基础(二)数据表的创建、约束、修改、查看、删除
SQL 基础(二)数据表的创建、约束、修改、查看、删除
274 0
SQL 基础(二)数据表的创建、约束、修改、查看、删除
|
SQL 关系型数据库 MySQL
MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型
MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型
414 0
MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型