MongoDB / Mongoose implementation of Sanakirju, a Karelian - Finnish dictionary with over 90 000 words. Based on data from Karjalan Kielen Sanakirja.
yarn add sanakirju-mongoose
sanakirju-mongoose uses the core sanakirju to fetch all the dictionary data from XML files. The Mongoose example provides one function for populating your own MongoDB instance with data from Sanakirju.
const { toMongoose } = require('sanakirju-mongoose')
// Your MongoDB / Mongoose config.
const config = {
url: 'YOUR_CONNECTION_STRING_HERE',
config: {
useNewUrlParser: true,
useUnifiedTopology: true
// Whatever other configs you require.
},
}
/**
* Run once to populate your DB.
*/
const populateMyDB = async() => {
await toMongoose(config)
}
populateMyDB()
const { Dictionary, connection } = require('sanakirju-mongoose')
const config = {
url: 'YOUR_CONNECTION_STRING_HERE',
config: {
useNewUrlParser: true,
useUnifiedTopology: true
// Whatever other configs you require.
},
}
/**
* Open connection somewhere in your app.
* You are free to open MongoDB connection without Sanakirju too.
*/
const dbConnection = await connection.connect(config.url, config.config)
if (!dbConnection.status) {
return dbConnection.error
}
// Query some data with Dictionary model.
const aWords = await Dictionary.find({startsWith: 'a'}).exec()
const sWords = await Dictionary.find({startsWith: 's'}).exec()
// Close connection once done.
await connection.close()
Sanakirju provides the following data for the model:
{
word: {
type: String,
},
definitions: [
{
definition: [String],
types: [String],
grammaticalNote: String,
examples: [String],
},
],
startsWith: String
}
Words & translations are from Karjalan Kielen Sanakirja created by Institute for the Languages of Finland. The original material is licenced under Creative Commons International (CC BY 4.0).