Performance Apache Solr LocalParams性能

Performance Apache Solr LocalParams性能,performance,solr,Performance,Solr,我刚刚在Solr中遇到过,我想知道使用LocalParams是否会对默认的参数指定方式产生任何性能影响 给你一个我的意思的例子,考虑下面的网址 违约 /select?q=dog&defType=dismax&qf=q_title_exact^20.0+q_title+q_suggest^0.5 本地参数 /select?q={!type=dismax qf='q_title q_title_exact^20 q_suggest^0.5'}dog 虽然大小上的差异很小,但我可以

我刚刚在Solr中遇到过,我想知道使用LocalParams是否会对默认的参数指定方式产生任何性能影响

给你一个我的意思的例子,考虑下面的网址

违约

/select?q=dog&defType=dismax&qf=q_title_exact^20.0+q_title+q_suggest^0.5
本地参数

/select?q={!type=dismax qf='q_title q_title_exact^20 q_suggest^0.5'}dog
虽然大小上的差异很小,但我可以将参数类型限制为一种,这对我非常有益


但是,由于它们被称为本地参数,我担心使用它们可能会影响性能,例如未正确缓存。

我认为,与默认方式相比,如果使用localparams,则与缓存功能无关。您给出的示例的功能将完全相同。但是,LocalParams在以下情况下具有优势(并且可能会影响存储在缓存中的记录,具体取决于您是在执行标准搜索还是使用某些Demax/eDisk搜索):-

假设您要搜索字段“A”与值“A1”匹配且字段“B”与值“B1”匹配的记录。此外,您希望字段“A”的匹配基于Demax解析器,而字段“B”的匹配应该基于solr的标准解析器

据我所知,LocalParams包含以下代码(未测试):-

不起作用,因为它将对字段A和字段B执行DEMAX搜索。但是,以下代码(未测试):-

将对字段A执行Demax搜索,而对字段B执行标准搜索


因此,可以说LocalParams可以帮助您执行“不同类型的搜索”。根据所使用的参数,它们还有许多其他优点。

感谢您的回复。为了报答您的好意,如果您进行检查,它会声明defType只影响主查询(q)。任何其他筛选器查询(fq)都将使用默认解析器。我的错误。您认为defType只影响主查询是正确的。然而,我只是举了一个例子(尽管不正确)。您还可以使用其他localParams,例如指定该操作应为AND还是or。上述推理适用于所有局部参数。LocalParams提供了一种向某些参数类型(如查询字符串)添加元数据的方法(根据wiki)。
/select?q=A:A1&fq=B:B1&defType=dismax&qf=A^20.0+B^0.5
/select?q={!type=dismax qf='A^20.0 B^0.5}A:A1&fq=B:B1