【发布时间】:2013-12-11 22:46:19
【问题描述】:
我在 SQL Server 数据库中存储了 120000 条葡萄酒记录。到目前为止,我已经通过执行以下 SQL 成功搜索了葡萄酒名称:
WHERE (LOWER(Wine.name) LIKE '%" + (searchString) + "%'")
我现在正在改用 Solr。我想搜索“clos rene”并找回“Clos Réné”。然而,Solr 正在返回匹配“Clos”的所有记录以及匹配“Réné”的所有记录。我已经尝试过以下字段定义:
<fieldType name="c_text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
有人可以帮我定义正确的字段类型,以便我可以重现上面的 SQL 查询,以返回不区分大小写和不区分重音的结果,其中包含空格的多个单词?
我还尝试过使用字段类型“字符串”进行通配符搜索,但我无法让它不区分大小写。
【问题讨论】: