摘要: 解析器The Extended DisMax Query Parser(一般用eDisMax
来指代)是对DisMax query parser的改进版,除了对DisMax query parser语法的支持,还增加了新的语法规则。
Extended DisMax Query Parser特点
- 完整支持
Luence
语法 - 支持AND, OR, NOT, -/+.
- 支持
magic field
(魔术字段)_val_
和_query_
,它们是没有在Schema中定义的字段 - 更智能地处理语法错误
- 更智能的
stopwords
停词处理 - 改进了
boost
函数的支持 - 可以指定用户能检索的字段,禁止用户直接对索引字段查询
Extended DisMax
参数 | 说明 |
---|---|
mm.autoRelax | 如果设置为true,可以使mm参数暂时失效:比如stopwords 和fq 可能会使查询结果为空 |
boost | 对于匹配的文档,越多的字符串匹配将会取得更高的得分 |
lowercaseOperators | 这个参数可以用来指示是否把or 和and 当做OR 和AND 处理 |
ps | 短语查询时,默认的溢出量amount of slop ,用来影响boosting |
pf2 | 指定多值的字段可选的权重 |
ps2 | 与pf2 搭配使用,没有指定的话,使用ps |
pf3 | 指定多值的字段可选的权重 |
ps3 | 与pf3 搭配使用,没有指定的话,使用ps |
stopwords | 布尔值,设置是否StopFilterFactory 生效,设为false,则stopwords 停词不起作用 |
uf | 设置用户可以使用那些字段检索,默认是所有字段,也就是uf=* ;设置为uf=title ,就是只让查询title字段;设置为uf=*-title ,就是禁止查询title字段;设置为uf=-* 屏蔽所有字段的检索 |