【发布时间】:2011-01-19 09:47:43
【问题描述】:
可以为文本中的每个数字创建一个术语吗? 示例文本:
I got 2295910 unique terms.
数字可以是时间戳、端口号等。唯一编号导致大量唯一项。拥有与文档相同数量的唯一术语是不对的。 Lucenememory usage grows with the number of unique terms.
对于带有数字的文本,是否有特殊的分析器或技巧? StandardAnalyzer 为每个唯一数字创建一个术语。
需求:
这些数字应保持可搜索状态。一个文档中可能有多个数字。 内存使用是个问题。我在多个索引目录中有 800M 文档。 内存使用迫使我关闭最近最少使用的 IndexSearchers。
未经测试的想法:
- 使用特殊的分析仪。它将数字分成块。 123456 将变为“123 456”。查询解析器将使用短语搜索来查找数字。
- 更改 Lucene 代码以在查看数字术语时使用更大的 termInfosIndexDivisor。
也许我正在重新发明轮子。有人已经解决了吗?
【问题讨论】: