我有一個將數據保存到MongoDB的Node.js應用程序。給定一個文檔,我想在數據庫中找到最相似的文檔。數據集中的最近鄰居Node.js
我的想法是實現某種近鄰算法,這需要所有記錄作爲訓練序列,並返回最相似的文檔(包括某種形式的百分比在這兩個文件的相似程度。)
例如有我的數據庫中這些記錄...
{ name: "Bill", age: 10, pc: "Mac", ip: "68.23.13.8" }
{ name: "Alice", age: 22, pc: "Windows", ip: "193.186.11.3" }
{ name: "Bob", age: 12, pc: "Windows", ip: "56.89.22.1" }
...我想找到最接近的文檔這一
{ name: "Tom", age: 10, pc: "Mac", ip: "68.23.13.10" }
// algorithm returns "Bill", .76
是否有任何節點模塊/實現,採取任何類型的對象/參數並返回他們最近的鄰居?
您有多少條記錄?他們經常更新嗎? – Blago
我希望有很多(> 5000)的記錄。一旦他們被保存,他們不會更新,但新記錄可能隨時到達。 – alex
這不是通常作爲獨立模塊實現的東西。這更像是一個算法的東西。更多的藝術。每個人都有不同的需求。解決方案往往是高度定製的。通常,人們使用框架(以及大量的知識)來構建他們的解決方案。可能最簡單的路線是(如果你有資源)使用Solr來索引你的數據。然後使用MoreLikeThis組件查詢:http://wiki.apache.org/solr/MoreLikeThis – Blago