【问题标题】:How can I implement Solr case insensitive and accent insensitive substring search with whitespaces?如何使用空格实现 Solr 不区分大小写和不区分重音的子字符串搜索?
【发布时间】: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 查询,以返回不区分大小写和不区分重音的结果,其中包含空格的多个单词?

我还尝试过使用字段类型“字符串”进行通配符搜索,但我无法让它不区分大小写。

【问题讨论】:

    标签: search solr


    【解决方案1】:

    试试,

    <fieldType name="c_text" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="50" side="front"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory"/>
      </analyzer>
    </fieldType>
    

    编辑:好的,现在我明白了你的问题,添加了额外的:&lt;filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="50" side="front"/&gt; 试试这个。

    【讨论】:

    • 谢谢,但这并没有解决我的问题。现在,如果我查询: wineName:*clos* 我得到所有“clos”葡萄酒,无论大小写或口音如何,但我无法搜索:wineName:*clos rene* 或 wineName:*clos r* 我想允许用户搜索具有双重或多个名称的葡萄酒。这可能吗?
    • 现在我知道你前面有通配符,看看我更新的分析器部分。告诉我。
    猜你喜欢
    • 1970-01-01
    • 2013-11-05
    • 2015-03-10
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多