我们正在从lucene.net 3.0升级到4.8。现在,由于这些版本之间的重大更改,我们遇到了一些问题。
在我们的项目中,我们使用CustomScoreQuery
曾经是Lucene.Net.Search.Function
名称空间一部分的。它不再在那里。根据Apache文档,不建议使用,而应使用代替FunctionScoreQuery
,但4.8中似乎不存在此类。我们应该用什么代替呢?
我们使用了一个自定义的收集器类,该类继承自Lucene.Net.Search.Collector
。在4.8中,此类已密封。我看到那里有几个实现类。我应该使用哪一个?
我发现我需要使用该ICollector
界面。这部分解决了问题。在SetNextReader
函数中,我们常使用Lucene.Net.Search.FieldCache_Fields.DEFAULT.GetStrings(reader, "<field>")
。这也已被删除。显然我们需要使用Lucene.Net.Search.FieldCache.DEFAULT.GetTerms(context.AtomicReader, "<fieldid>", false)
。所以这个问题似乎解决了
我们使用的是从继承的类CustomScoreProvider
中Lucene.Net.Search.Function
,但它是在4.8不再出现。我们将其与方法的CustomScoreQuery
as返回值结合使用GetCustomScoreProvider
。似乎没有其他选择。我们应该用什么代替呢?
我们在3.0中使用了WhitespaceAnalyzer,现在似乎不再存在。什么是替代品?
有一些文档,但不幸的是,迁移指南的链接仍然是TODO。
我也在这里发布了我的问题,lucene.net的好人回答了我所有的问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句