我正在尝试使用以下查询对名称字段进行模糊搜索。
当我运行查询时q=(name:'smiht'~0.25) AND (name:'will'~0.25)
,返回的记录的名称类似于Will Smith
, William D Hamilton DC
, William I Smith JR
。
现在,当我在下面的查询末尾添加一个像“dc”这样的词时,它不会返回任何结果。我期待看到所有名称为“William D Hamilton DC”的记录。solr 模糊查询不适用于较短的单词吗?有人可以帮忙吗?
q=(name:'smiht'~0.25) AND (name:'will'~0.25) AND (name:'dc'~0.25)
字段名称的字段类型如下。
<!-- USING Exact Text with Minimum filters-->
<fieldType name="text_exact" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>