我正在尝试对我的title
和content
执行不区分大小写的搜索
然而无济于事。我尝试了以下方法:
在<filter class="solr.LowerCaseFilterFactory" />
中将text_general
添加到'schema.xml / managed-schema.xml
'字段类型,同时添加'index'和'analyze'标记符。
我尝试搜索以下内容:
*abc*
:未显示“ABC”的结果*ABC*
:仅显示带有'ABC'的结果。这清楚地表明小写过滤器不起作用。下面粘贴的还有第一个查询的调试结果。
以下是分析示例文本时标题字段的屏幕截图。输出似乎没问题,但搜索不按预期工作。这是搜索查询问题吗?
感谢先进的任何帮助!
答案 0 :(得分:0)
不,它没有清楚地表明小写过滤不起作用 - 您遇到的是most filters or tokenizers aren't applied when you're doing a wildcard search(因为他们真的不能干净地应用于他们不喜欢的通配符搜索有整个术语可以使用)。
解决方法是,如果要执行通配符的小写搜索,则在实际索引之前执行小写或处理字段,并仅使用标记生成器根据需要拆分文本(LowercaseTokenizer
似乎是the only one that is a MultiTermAwareComponent)。否则,如果您不想执行任何标记化或拆分字符串,请使用string
字段。
您可以在自己的代码中将内容发送到Solr或in an update processor。