何时在edmax上使用edismax?

时间:2018-06-28 11:17:03

标签: solr edismax dismax

Solr支持dismax查询解析器和edismax查询解析器。我们如何得出结论,何时使用dismax和何时edismax?什么时候应该使用edismax而不是dismax?

1 个答案:

答案 0 :(得分:2)

reference guide documents this extensively

  

除了支持所有DisMax查询解析器参数外,   扩展Dismax:

     
      
  • 支持完整的Lucene查询解析器语法。

  •   
  • 支持诸如AND,OR,NOT,-和+之类的查询。

  •   
  • 在Lucene语法模式下将“ and”和“ or”分别处理为“ AND”和“ OR”。

  •   
  • 尊重“魔术场”名称_val_和_query_。这些不是   架构中的实际字段,但是如果使用它,它可以帮助做一些特殊的事情   (例如_val_的函数查询或   _query_)。如果在字词或词组查询中使用_val_,则   值被解析为一个函数。

  •   
  • 包括在语法错误的情况下改进的智能部分转义功能;   此字段仍支持字段查询,+ /-和短语查询   模式。

  •   
  • 通过使用单词带状图来提高接近度;你不需要   查询以匹配提升邻近度之前文档中的所有单词   已应用。

  •   
  • 包括高级停用词处理:   查询的必需部分,但仍在附近使用   增强部分。如果查询包含所有停用词,例如“ to be or   不是”,那么所有单词都是必需的。

  •   
  • 包括改进的增强功能:在扩展DisMax中,增强   函数是一个乘数而不是加数,从而提高了效率   结果; DisMax(bf和bq)的加性Boost函数也为   支持。

  •   
  • 支持纯否定嵌套查询:+ foo(-foo)之类的查询   将匹配所有文档。

  •   
  • 让您指定最终用户可以查询哪些字段以及   禁止直接搜索。

  •   

这些功能对您是否重要取决于您自己的用例,但是在大多数情况下,没有理由在edismax上使用dismax-edismax更具灵活性,并解决了多年来困扰了Dismax的一些问题。除非有特殊原因,否则请使用edismax。