solr中的query语句怎么定制化

基本query如何写,都是参考guide中的例子。
比如:https://lucene.apache.org/solr/guide/8_5/the-standard-query-parser.html
以下红框中的内容都是。
solr中的query语句怎么定制化

但是所有的query,最后其实都是归结到QParserPlugin的实现类的。也就是看这些plugin类的描述,以及它们支持的query方式,可以知道solr全部的query类型。
这是QParserPlugin的实现类
solr中的query语句怎么定制化
它们是否被默认启用,是在QParserPlugin的static块中。
solr中的query语句怎么定制化
如果没有在这个列表中的QParserPlugin需要启用,则必须将自己实现的jar放到solr的classpath下,然后在solrconfig.xml中添加以下行(指定name和实现的plugin类),然后重启solr。

<queryParser name="test" class="com.test.TempTestQParserPlugin"/>

以最常见的LuceneQParserPlugin为例,它的注册name是"lucene",所以它的query都是这样写的:

{!lucene XXX}XXX

而至于它具体支持的local Params,可以参考它返回的具体QParser实现类:LuceneQParser.parse(),在这个函数里,你可以查看到它去获取了哪些参数,比如df,op等等。

上一篇:Spring Data Solr 对 Solr 的增删改查实例


下一篇:启动Solr提示Java版本低,无法启动的解决办法