Solr通用搜索,如何从搜索中删除某些字段?

时间:2018-07-05 15:11:55

标签: java solr lucene

我想在Solr中进行简单的搜索,例如q = 1234。我知道它将在schema.xml BUT中配置的每个字段中查找queryString,我希望在运行时不搜索某些字段。

Solr可以吗?

我不想进行过滤查询。我想搜索配置的每个字段,但不搜索某些字段,例如,取决于用户权限。

非常感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

您的假设是错误的-q=1234搜索每个字段。默认模式具有一个名为_text_的字段和一条copyField规则,该规则将所有字段的内容复制到该字段中-然后默认搜索_text_字段。

这意味着只要您实际指定要搜索的字段,就可以获得所需的行为。使用(e)dismax处理程序,您可以通过将qf=field1 field2 field3设置为要搜索的字段名称来实现此目的。

除非您打算使用该功能,否则还应该删除copyField指令和_text_字段。