在 Solr 6.6 的过滤器查询中文件名被错误解析

Filename getting parsed incorrectly in filter query in Solr 6.6

如何防止 ss_content:70756_box4_v29.jpg 等过滤器查询被如下解析

"filter_queries":["ss_content:(41339_box4_v29.jpg)"],
"parsed_filter_queries":["ss_content:41339_box4_v29 ss_content:jpg"]

在 parsed_filter_queries 中,文件名已被分成 2 个单独的查询。即使我尝试将文件名包含在双引号中,它仍然会将文件名分成两部分。

"filter_queries":["ss_content:\\"70756_box4_v29.jpg\\""],
"parsed_filter_queries":["ss_content:70756_box4_v29 ss_content:jpg"],

这导致查询显示不正确的结果,因为 ss_content 字段是关键字字段

例如

"ss_content":"628_test.jpg none  facets media image file type jpg type packaging graphics packaging generic year 1996 "

您需要调整 ss_content 字段正在使用的分词器。现在它正在对点进行标记,从而创建两个查询词。例如,将分析链设置为使用 WhitespaceTokenizer(最好仔细研究最适合您的用例的匹配项)。