Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unicode SOLR删除表情符号杂项字符_Unicode_Solr_Lucene_Emoji - Fatal编程技术网

Unicode SOLR删除表情符号杂项字符

Unicode SOLR删除表情符号杂项字符,unicode,solr,lucene,emoji,Unicode,Solr,Lucene,Emoji,看起来SOLR正在考虑哪些应该是有效的Unicode字符是无效的,并删除它们 我通过打开查询调试来“证明”这一点,以查看解析器对我的查询做了什么。下面是一个例子: 查询='ァ☀' (\u30a1\u2600) 以下是索尔用它做的: “调试”:{ “rawquerystring”:u'\u30a1\u2600', “查询字符串”:u'\u30a1\u2600', 'parsedquery':u'(+DisjunctionMaxQuery((文本:\u30a1)))/no_coord', 'pars

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

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

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

以下是索尔用它做的:

“调试”:{ “rawquerystring”:u'\u30a1\u2600', “查询字符串”:u'\u30a1\u2600', 'parsedquery':u'(+DisjunctionMaxQuery((文本:\u30a1)))/no_coord', 'parsedquery_-toString':u'+(文本:\u30a1)'

正如你所看到的,我同意ァ', 但是它吃掉了“黑太阳”这个角色

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


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

这很可能与分析器有更多关系。我没有看到任何具体说明这些类型字符的处理方式,但它们可能被分析器(或您可能使用的任何分析器)视为标点符号,因此将不会出现在最终查询中。
StandardAnalyzer
实现中设置的规则,以便将输入分隔为令牌。

是的。就是这样。谢谢!@femto请建议此处应使用哪种分析器