在 solr / lucene 索引中包含货币符号
Including currency symbols in solr / lucene indexes
是否可以将货币符号作为单独的标记来索引文本字段?
例如在文本字段中我有这个:
"16 €"
我需要用这些条目建立索引:
16
€
为了搜索“€”并找到文档。
现在我正在使用 StandardTokenizer,它会丢弃货币符号。
一个可能的解决方案是使用更多 "trivial" 分词器,例如 WhitespaceTokenizer,但我认为它会在其他文本上得到更糟糕的分词。
请注意,问题不在于如何为货币编制索引,这是一个微不足道的示例,但在该字段中我可以使用任意文本。
一种可能的解决方案(虽然不是很漂亮)是用您选择的分词器将保留的东西替换欧元符号。你can use a MappingCharFilterFactory把eurosign替换成像EUROSIGN这样的字符串,然后再分词后再替换。
除非您能够正式准确地表达您希望分词器如何工作,否则您必须使用适合大多数内容的预设版本之一才能提供可用的搜索结果。如果您有更具体的规则集,可以选择在 Java 中编写自己的分词器。
是否可以将货币符号作为单独的标记来索引文本字段? 例如在文本字段中我有这个:
"16 €"
我需要用这些条目建立索引:
16
€
为了搜索“€”并找到文档。
现在我正在使用 StandardTokenizer,它会丢弃货币符号。
一个可能的解决方案是使用更多 "trivial" 分词器,例如 WhitespaceTokenizer,但我认为它会在其他文本上得到更糟糕的分词。
请注意,问题不在于如何为货币编制索引,这是一个微不足道的示例,但在该字段中我可以使用任意文本。
一种可能的解决方案(虽然不是很漂亮)是用您选择的分词器将保留的东西替换欧元符号。你can use a MappingCharFilterFactory把eurosign替换成像EUROSIGN这样的字符串,然后再分词后再替换。
除非您能够正式准确地表达您希望分词器如何工作,否则您必须使用适合大多数内容的预设版本之一才能提供可用的搜索结果。如果您有更具体的规则集,可以选择在 Java 中编写自己的分词器。