小编Jon*_*n B的帖子

Solr:在带有空格的字符串上使用通配符

我有与此处讨论的基本相同的问题:带有空格的Solr通配符查询,但这个问题没有得到解答.

我在名为"brand"的字段的过滤器查询中使用通配符.

当品牌名称中有空格时,我遇到了麻烦.例如,当我说fq = {!tag = brand}品牌:Lexing*n时,过滤品牌"Lexington"就可以了.然而,像"Athentic Models"这样的多字品牌会引发问题.似乎必须在名称周围加上双引号.

当有"s,*s不做任何事情,即品牌:"Athentic Mode*"或品牌:"Lexingt*",将无法与之匹敌.没有双引号,它确实可以说品牌:Authen*,没有引号也没有空格,这将匹配Authentic Models.但是一旦品牌名称中包含空格,它似乎只在匹配时将字符串考虑到第一个空格.

品牌领域属于类型

<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这不是空白的标记.但是,它使用来自空白标记化字段的copyField填充.

我有什么办法可以阻止Solr在不使用双引号的情况下对过滤器查询进行标记化吗?

lucene solr wildcard

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

lucene ×1

solr ×1

wildcard ×1