【问题标题】:SOLR - can do wildcard search with capital letters but not small letterSOLR - 可以用大写字母而不是小写字母进行通配符搜索
【发布时间】:2017-03-12 16:22:23
【问题描述】:

我在进行 SOLR 搜索时遇到问题。与这里的人遇到的问题相反:SOLR - wildcard search with capital letter,我在进行非大写字母搜索时遇到问题。

在 SOLR 中,我有一个名为 Title 的字段,我的两个文档中的每个字段都有值“One piece”和“One punch man”。在查询 &q=Title:One 时,我能够返回两个文档;但是,在查询 &q=Title:one 时,它无法返回任何文档。如果我在不指定字段名称的情况下查询 &q=One 和 &q=one,SOLR 能够将这两个文档都返回给我。

以下是我认为相关的托管模式配置:

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.LowerCaseTokenizerFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.LowerCaseTokenizerFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
   </analyzer>

我目前正在使用 solr 6.4.1,感谢您的帮助!

【问题讨论】:

  • 你试过用 UI solr 分析器吗?

标签: solr lucene wildcard


【解决方案1】:

哦,我设法在 http://lucene.472066.n3.nabble.com/Uppercase-and-lowercase-queries-td1731349.html 找到了解决方案,我在字段 Title 中添加了一个过滤器,以将所有内容更改为小写以进行索引和查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多