在Solr Suggester组件中使用collate?

在Solr Suggester组件中使用collate?,solr,Solr,用例 我们的Solr索引包含许多国家的文档。某些文档应仅在某些国家/地区可见。 因此,向美国用户提供的建议应仅包含在美国可见的文档 解决问题的方法 a) 使用时,我可以激活collate=true。这将过滤所有提供的Solr filter查询的建议。 b) 但是我想使用高级建议,比如AnalyzingFixSuggester,所以我必须使用Solr。不幸的是,我找不到激活整理的方法。因此,对于建议,我的筛选查询将被忽略,所有国家/地区的所有产品都将被返回 问题 a) 有没有办法激活Sugges

用例

我们的Solr索引包含许多国家的文档。某些文档应仅在某些国家/地区可见。 因此,向美国用户提供的建议应仅包含在美国可见的文档

解决问题的方法

a) 使用时,我可以激活collate=true。这将过滤所有提供的Solr filter查询的建议。

b) 但是我想使用高级建议,比如AnalyzingFixSuggester,所以我必须使用Solr。不幸的是,我找不到激活整理的方法。因此,对于建议,我的筛选查询将被忽略,所有国家/地区的所有产品都将被返回

问题

a) 有没有办法激活SuggestComponent中的collate

b) 或者可以将高级建议程序与SpellCheckComponent一起使用吗?

您正在寻找的。您可以使用该功能使用高级建议器过滤一些建议

将此行添加到suggester配置:

<str name="contextField">country</str>

这管用!但是没有办法将真正的过滤查询与suggester一起使用(它们比contextField更通用)?不,你没有fq的所有灵活性。如果它是预定义的fq,您可以在索引时将其计算到一个字段中,并将该字段用作cfq。
suggest.cfq=us