当我使用以下 Solr 查询执行搜索时,我得到了我想要的:已用术语“PHP”或“编程”标记的“课程”。
q=[* TO *]&facet=on&facet.field=facet_contenttype&fq=facet_contenttype:mediaitems_course&facet.field=facet_wmterm&fq=(facet_wmterm:PHP OR Programming)
现在,我还想包含带有“C# .NET”标签的课程。整个字符串“C# .NET”是我正在使用的 CMS 中的一个标签。我已经为 facet_wmterm 过滤器查询尝试了以下可能性。
&fq=(facet_wmterm:PHP OR Programming OR C# .NET) // no quotes
&fq=(facet_wmterm:PHP OR Programming OR 'C# .NET') // quotes
&fq=(facet_wmterm:PHP OR Programming OR 'C#+.NET') // quotes and replaced space for + sign
&fq=(facet_wmterm:PHP OR Programming OR C#%2b.NET) // no quotes, encoded + sign
&fq=(facet_wmterm:PHP OR Programming OR 'C#%2b.NET') // quotes, encoded + sign
&fq=(facet_wmterm:PHP OR Programming OR 'C%23+.NET') // quotes, encoded # sign
&fq=(facet_wmterm:PHP OR Programming OR C%23+.NET) // no quotes, encoded # sign
&fq=(facet_wmterm:PHP OR Programming OR 'C%23%2B.NET') // quotes, encoded # and + signs
&fq=(facet_wmterm:PHP OR Programming OR C%23%2B.NET) // no quotes, encoded # and + signs
and a lot more options....
奇怪的是,以上所有选项都会返回所有课程,无论它们被标记为什么,而且我很确定我不是在看缓存,因为删除“C# .NET”位会给我最初的、正确的“PHP 或编程”结果.
我很想学习如何在我的方面查询中包含“C# .NET”,因为我快要发疯了 :) 谢谢!