我是apache solr的新手,并探索了一些可能适用于我的应用程序的用例。 在其中一个用例中,我有多个mongodb实例通过mongo-connector将数据推送到solr。我可以通过使用两个不同的mongo实例运行两个mongo-connector实例并使用相同的solr核心来实现这一目的。
我的问题是:我如何处理我在mongo-collection中有一个字段的情况,比如" startTime"这是一个mongo实例中的Date类型,另一个是对它进行处理。我希望在solr中将此字段视为long类型。 solr是否提供任何类型的自动转换,或者我必须编写我的分析器?
答案 0 :(得分:2)
如果要将两个值规范化为同一个表单,则应在UpdateRequestProcessor(defined in solrconfig.xml)中执行此操作。有quite a number of them用于各种目的,包括日期解析。实际上,无模式模式是由一系列URP实现的,因此an example you can review。
要以不同方式处理不同的Mongo实例,您只需定义单独的Update Request Handler端点(再次在solrconfig.xml中),并为这些端点设置不同的处理。使用共享定义可以避免重复常见的内容(使用上面链接的无模式定义中的处理器引用)。
标准化日期而不是从日期返回可能更有用,因为Solr允许更有趣的搜索,例如Date Math。