다음 Solr 쿼리를 사용하여 검색을 수행 할 때 'PHP'또는 '프로그래밍'이라는 태그가 붙은 "코스"를 얻을 수 있습니다.Solr 패싯 검색에서 용어를 올바르게 인코딩하는 방법
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'을 내 패싯 쿼리에 포함시키는 방법을 배우는 것을 좋아합니다. 감사합니다!
어떤 데이터 유형의 schema.xml에서처럼 않습니다. 대답은 StandardTokenizerFactory, LowerCaseFilterFactory 등을 사용하는지 여부에 따라 달라질 수 있습니다. – Evan