eDisMax查询解析器的最小匹配功能可以包含多个关键词的查询进行匹配质量和数量的细粒度控制。图解从交集的角度解释最小匹配阈值的作用:
解释:5个词项的最小匹配值设置为40%。在这种情况下,5个词项至少需要匹配2个。与传统的布尔逻辑AND/OR相比,最小匹配支持不同的交集。
mm参数变大通常会提高查准率,mm参数变小通常会提高查全率。
从本质上讲,小于1的最小匹配值永远不会被使用【因为至少需要一个】,大于子句数量的最小匹配值也不会被使用【因为最大值是查询中的子句数量】。
九.eDisMax查询解析器的优缺点eDisMax查询解析器除了支持Lucene查询解析器的所有查询语法外,还提供了许多附加功能。例如:多字段搜索、清理用户输入、字段别名和字段限制,以及通过多查询修正来改进短语相关度和其它权重因素。
使用eDisMax查询解析器也有一些缺点。首先是与eDisMax查询解析器进行多字段搜索相关的处理问题。如果将所有词项放入一个字段并对其进行搜索,Lucene查询解析器的查询速度比使用eDisMax查询解析器在相同的查询表达式搜索多个字段要快。当然,eDisMax查询解析器也可以单字段搜索。然而,eDisMax查询解析器可以实现轻松多字段搜索的同时,会为许多基于Solr的搜索应用带来额外的执行花销。