【发布时间】:2010-11-23 10:40:14
【问题描述】:
我只想通过查询 100000 来搜索 100,000 和 100000
(或仅通过查询 100,000)。
是否可以这样搜索。
执行此操作的目的是,用户可以在任何位置添加逗号或根本不添加逗号,但无论如何都应搜索字符串(100,000 或 100000)...
【问题讨论】:
标签: search solr punctuation
我只想通过查询 100000 来搜索 100,000 和 100000
(或仅通过查询 100,000)。
是否可以这样搜索。
执行此操作的目的是,用户可以在任何位置添加逗号或根本不添加逗号,但无论如何都应搜索字符串(100,000 或 100000)...
【问题讨论】:
标签: search solr punctuation
尝试在您的字段的索引和查询定义中使用 solr.WordDelimiterFilterFactory 和 catenateNumbers="1"。
这里有一些文档: WordDelimiterFactory
【讨论】:
不知道这是否正确,但也许您可以编写某种过滤器工厂,其中数字始终被索引为以逗号格式和不带逗号的数字。或者,您可以让索引和查询分析器都存储不带逗号的单词。
【讨论】:
如果 , 在数字中,只需从查询中删除
(如果您在客户端使用 java -> 解析数字并执行 toString)
【讨论】: