参考指南提供了大量的参考资料。。
除了支持所有DisMax查询解析器参数外,扩展Dismax:
- 支持完整的Lucene查询解析器语法。
- 支持诸如AND、OR、NOT、-和+等查询。
- 在Lucene语法模式中将“和”和“或”视为“和”和“或”。
- 尊重‘魔术场’的名字_val_和_query_。这些不是模式中的实际字段,但如果使用这些字段,则有助于执行特殊任务(例如,_val_中的函数查询或_query_中的嵌套查询)。如果在术语或短语查询中使用_val_,则将该值解析为函数。
- 在语法错误的情况下包括改进的智能部分转义;在这种模式中仍然支持部署的查询、+/-和短语查询。
- 通过使用字条来提高邻近性;在应用邻近提升之前,您不需要查询来匹配文档中的所有单词。
- 包括高级停止字处理:在查询的强制部分中不需要停止词,但在邻近增强部分中仍然使用。如果查询包含所有停止词,如“既是或不存在”,那么所有的单词都是必需的。
- 包括改进的boost函数:在扩展的DisMax中,boost函数是一个乘数,而不是一个加数,从而改善了您的boost结果;还支持DisMax的加性boost函数(bf和bq)。
- 支持纯负嵌套查询:诸如+foo (-foo)之类的查询将匹配所有文档。
- 允许您指定允许最终用户查询的字段,以及不允许直接外地搜索的字段。
这些特性对您是否重要取决于您自己的用例,但在大多数情况下,没有理由在edismax上使用dismax - edismax更灵活,并且解决了多年来逐渐增加的dismax的一些问题。除非你有一个非常明确的理由,否则就用edismax。