【问题标题】:SOLR Dropping Emoji Miscellaneous charactersSOLR Dropping Emoji 杂项字符
【发布时间】:2013-11-05 02:13:00
【问题描述】:

看起来 SOLR 正在考虑哪些应该是有效的 Unicode 字符是无效的,并删除它们。

我通过打开查询调试来“证明”这一点,以查看解析器对我的查询做了什么。这是一个例子:

查询 = 'ァ☀' (\u30a1\u2600)

这是 SOLR 用它做的:

“调试”:{ '原始查询字符串':u'\u30a1\u2600', '查询字符串':u'\u30a1\u2600', 'parsedquery':u'(+DisjunctionMaxQuery((text:\u30a1)))/no_coord', 'parsedquery_toString':u'+(text:\u30a1)',

如您所见,“ァ”没问题,但它吃掉了“黑太阳”字符。

我还没有尝试过所有的 Block,但我已经确认它也不喜欢 ⛿ (\u26ff) 和 ♖ (\u2656)。

我将 SOLR 与 Jetty 一起使用,因此不应该应用各种 TomCat 问题 WRT 字符编码。

【问题讨论】:

    标签: unicode solr lucene emoji


    【解决方案1】:

    这很可能与分析器有关。我没有看到任何具体说明这些字符的处理方式,但它们可能被StandardAnalyzer(或您可能使用的任何分析器)非常视为标点符号,因此不会出现在最后询问。 StandardAnalyzer 实现了在UAX-29, Unicode Text Segmentation 中设置的规则,以便将输入分离为令牌。

    【讨论】:

    • 是的。就是这样。谢谢!
    • @femto 请建议这里应该使用什么分析仪
    猜你喜欢
    • 1970-01-01
    • 2015-09-25
    • 2015-01-02
    • 2020-11-25
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2019-01-12
    • 2012-05-10
    相关资源
    最近更新 更多