我有一个Solr 3.6部署。 目前我正在使用 solr。StandardTokenizerFactory 用于在索引期间分析令牌。
以下是演示我的问题的两个示例流:
示例 1:bob,a-z,000123,xyz
生成令牌... |bob|a-z|000123|xyz|
......这很好。
示例 2:bob,a-6,000123,xyz
生成令牌... |bob|a-6,000123|xyz|
......这不好,因为用户无法按"000123"进行搜索。
似乎StandardTokenizerFactory以不同的方式对待"6,000"(比如它是货币或产品编号,也许?(,所以它不会在逗号处标记。
问题:我怎样才能增强标准令牌器来完成它现在正在做的所有事情,并生成一些像这样的额外令牌......
bob,a-6,000123,xyz
产生代币... |bob|a-6,000123|xyz|a-6|000123|
。那么用户可以按"000123"搜索吗?
不确定你是否可以用StandardTokenizerFactory做任何事情(好吧,也许创建你自己的版本,但这似乎太麻烦了(。
你可以肯定的是使用WordDelimiterFilterFactory。如果它没有发出你想要的术语,请使用不同的参数,最后使用 wdftypes.txt 文件来实现它