在solr / lucene索引中包含货币符号

时间:2015-07-16 14:33:27

标签: solr lucene tokenize

是否可以将货币符号视为单独的令牌来索引文本字段? 例如,在文本字段中,我有:

"16 €"

我需要使用以下条目构建索引:

16
€

为了搜索“€”并找到该文件。

现在我正在使用StandardTokenizer,它会丢弃货币符号。

一个可能的解决方案可能是使用更“平凡”的标记器,例如WhitespaceTokenizer,但我认为它会在其他文本上变得更糟糕的标记化。

请注意,问题不在于如何索引货币,这是一个简单的例子,但在该领域我可以有任意文本。

1 个答案:

答案 0 :(得分:1)

一个可能的解决方案,虽然不是很漂亮,但是用您选择的令牌化器单独留下的东西取代欧元签名。您can use a MappingCharFilterFactory用欧元符号字符串替换欧元符号,然后再次标记后替换它。

除非您能够正式表达您希望令牌制作者的工作方式,否则您必须使用适合大多数内容的预设版本之一来提供可用的搜索结果。如果您有更具体的规则集,则可以选择在Java中编写自己的标记生成器。