function full_similarity_matrix(library) {
const { m } = library;
const books = Array.from(m.values())
function label(book) {
const { data } = book;
return `${data.metadata.pubDate}-${data.metadata.title}-${book.id}`
}
books.sort((a, b) => (label(a) > label(b)))
let data = []
books.forEach((first, i) => {
console.log(`Building sims for ${first.id}`)
books.forEach((second, j) => {
const prefs = {'doc': 'chunk', 'size': chunk_size}
if (i <= j) {
const aa = first.count(prefs)
const bb = second.count(prefs)
const dists = similarity_matrix(aa, bb, label(first), label(second))
data = data.concat(dists)
}
})
})
return data
}