如何将 SOLR 查询转换为 Solarj 查询

问题描述

当在 Solr 管理屏幕上时,我们可以看到查询正在 image of query generated on Solr Admin search page

{!term f=email}xyz@mail.dice.com

{!term f=xxx} 在这里有什么意义?在哪里可以获得有关此语法的详细信息?以及如何使用 SolrJ api 调用将其转换为查询

谢谢。

解决方法

syntax is called local params - 它改变查询的行为以使用不同的查询解析器或做一些特殊的事情(比如用内部标签标记它以在查询的另一部分引用它)。

就您而言,它是 invokes the term query parser

TermQParser 通过从等效于 readableToIndexed() 的输入值创建单个词条查询来扩展 QParserPlugin。这对于从分面或术语组件返回的外部人类可读术语生成过滤器查询很有用。唯一的参数是 f,用于字段。

如果我没记错的话(通过一小段搜索),您应该可以直接将其提供给 setQuery

.setQuery("{!term f=email}xyz@mail.dice.com");