【问题标题】:How to search word with and without special characters in Solr如何在 Solr 中搜索带有和不带有特殊字符的单词
【发布时间】:2017-04-26 06:49:39
【问题描述】:

我们在 solr 中使用了 StandardTokenizerFactory。但是我们在没有特殊字符的情况下进行搜索时遇到了问题。

就像我们搜索“分数是多少?”及其内容特殊字符。现在我们只搜索“Whats the Score”,但没有得到正确的结果。它的 表示我们应该工作的带和不带特殊字符的搜索标题。

请建议我们需要使用哪个过滤器并满足这两个条件。

【问题讨论】:

    标签: solr


    【解决方案1】:

    如果您有最新版本的 Solr,请尝试将 solr.WordDelimiterGraphFilterFactorycatenateWords=1 添加到您的分析器链中。

    这从What's 开始应该创建三个令牌WhatsWhats

    不确定'是否在过滤器用于连接单词的字符列表中,无论如何您都可以使用参数types="characters.txt"添加它

    【讨论】:

    • 我们已经实施了您的建议,但它的工作没有“分数是多少?”但它不适用于完全匹配(“分数是多少?”)。请建议两者都有效。
    • 请将此答案(如果是)标记为正确,并在 SO 上提出另一个问题。
    • solr.WordDelimiterGraphFilterFactory 它只满足一个条件,但完全匹配它不起作用。
    • 精确匹配在 Solr 中是一个复杂的问题,主要是因为存在不同程度的“精确度”,在现实生活中很少需要真正的精确匹配。 看看在stackoverflow.com/questions/29103155/…
    • 我还建议使用嵌入到 Solr Admin 中的分析器来了解正在发生的事情并调试您的查询,您也可以使用我写的Solr Query Debugger
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 2012-05-30
    相关资源
    最近更新 更多