java – Lucene:相似类…如何定义几个相似性度量?
对于我的实验,我需要为我的集合文档的每个字段定义特定的相似性度量.
例如,我需要测量描述字段与tf.idf的相似性,以及与Harvesine距离等的Geolocation字段…等等… 我现在正在研究Similarity类.我想知道是否有任何好的教程或示例,以便更快地进行… 谢谢 解决方法
编辑:
在IIUC中,每个字段都有一个相似性公式,并且您希望每个文档使用它,与所有其他文档一起运行. 您可以在索引时使用多个选项: >扩展DefaultSimilarity级. 在这两种方法中,您可以使用payloads来存储特定于术语的信息(对于lat-long数据可能很有用). 在使用这些方法之一实现Similarity类之后,使用Similarity.setDefault(mySimilarity)将其设置为用于索引和搜索的Similarity实例. 只有索引你的文本语料库,你可以在以后搜索 – 你可能还需要扩展Searcher类来获得原始的相似性. 话虽如此,我认为这种方法对于你的用例是错误的 – Lucene已经过优化,可以获得一些类似的文档,而不是每个文档的得分,所以我预测运行时会让人望而却步 – 希望我错了,但不过我建议你阅读了Mining of Massive Datasets以获得更好的方法 – 最小的哈希和晃动. 祝好运. Patrick,我将首先引用Grant Ingersoll关于修改Similarity类:“Here be Dragons”.定制Lucene的Similarity类很难.我做到了这一点. 我建议您首先阅读Grant’s spatial search paper,his findability paper和his ‘debugging relevance’ paper.这些显示了其他方式来获取所需的点击. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |