SOLR 7.5带未修剪空白的查询
我正在使用Solr7.5。我想搜索一个由空格包围的字母。看起来SOLR正在修剪每个令牌和我的查询。例:SOLR 7.5带未修剪空白的查询,solr,whitespace,Solr,Whitespace,我正在使用Solr7.5。我想搜索一个由空格包围的字母。看起来SOLR正在修剪每个令牌和我的查询。例: q= text:" D " 这将返回以下结果: text=我需要一些D电池 text=富兰克林·D·罗斯福 文本=打印的表格D/L 如何设置查询格式,以便只显示第一个结果? 我尝试了以下方法: 正文:D\ text:D%20由于您只希望在单个标记内进行精确、简单的子字符串匹配,因此可以使用关键字标记器并使用通配符进行搜索。KeywordTokenizer将所有内容作为单个
q= text:" D "
这将返回以下结果:
text=我需要一些D电池
text=富兰克林·D·罗斯福
文本=打印的表格D/L
如何设置查询格式,以便只显示第一个结果?
我尝试了以下方法:
正文:D\
text:D%20由于您只希望在单个标记内进行精确、简单的子字符串匹配,因此可以使用关键字标记器并使用通配符进行搜索。KeywordTokenizer将所有内容作为单个标记保存,这意味着我需要一些D电池。将按原样编制索引,无需任何进一步处理
然后,您应该能够使用q=字段:*D*来查询该值,这取决于字段的定义方式。标准标记器将根据空格和标点/特殊字符进行拆分。是否要包含以D开头或以D结尾的条目?@MatsLindh我只需要D本身,因此只返回第一个结果。所以我想任何以D开头的字段都可以。@MikePone:你能为你的字段共享字段类型吗…?我必须创建一个只使用关键字标记器的新字段类型,并用该新类型的新字段替换现有字段并重新索引。我这么做之后,它就像你说的那样工作了。结果是内置类型lowercase有关键字标记器加上lowercase过滤器,这正是我想要的,因此,将字段定义为小写类型为我提供了所需的内容。LowercaseFilter是为数不多的多线程过滤器之一,也就是说,当使用通配符进行查询时,它们也能正常工作,因此应该可以正常工作:-