SOLR搜索无法使用@符号

时间:2017-11-15 06:34:04

标签: java solr

当我们尝试在术语中使用 @ 搜索Solr时,它不会返回任何结果。

假设有一个带有文本abc@ac.in的条目。

When I search abc@ac.in it works.
When I search abc@ it works.
When I search abc@a it FAILS and returns no result.

有人可以建议吗?

1 个答案:

答案 0 :(得分:1)

最有可能的是,对于此字段,您使用的是solr.StandardTokenizerFactory,它通过不同的符号将文本拆分为令牌,其中一个是@,因此如果您放置abc@ac.in你会得到像abc ac in这样的代币。

对于电子邮件,我建议使用solr.KeywordTokenizerFactorysaving tokens as it is。如果您的字段只包含电子邮件地址,那可能没问题。

但是,如果您的字段是要保留电子邮件的文本字段,则应使用solr.ClassicTokenizerFactoryrecognizes email addresses and domain names并且不要拆分