Skip to content

Latest commit

 

History

History
66 lines (49 loc) · 1.87 KB

README.md

File metadata and controls

66 lines (49 loc) · 1.87 KB

Thesaurus

a thesaurus of any languages using LibreOffice's dictionaries

License

99.9999% of this library being made of words from MyThes, the open-office thesaurus, see the LICENSE.txt at the root of the project.

Usage

Basic usage

var thesaurus = require("thesaurus");

// basically returns a list of similar words
console.log(thesaurus.find("structuralism"));
[ 'structural linguistics',
  'linguistics',
  'structural anthropology',
  'theory',
  'structural sociology' ]

// please be aware that all meanings are merged into the same list.
// this is not a semantic thesaurus.
console.log(thesaurus.find("constitutional"));
[ 'law',
  'property',
  'constitutional',
  'built-in',
  'inbuilt',
  'inherent',
  'integral',
  'intrinsic',
  'intrinsical',
  'constituent',
  'constitutive',
  'organic',
  'essential',
  'walk' ]

Download and Import an OpenOffice thesaurus file

node-thesaurus expects a th_en_US_new.dat that you can get at http://lingucomponent.openoffice.org/MyThes-1.zip

Download and extract oneliner (with curl and unzip)

$ curl http://www.openoffice.org/lingucomponent/MyThes-1.zip --output MyThes-1.zip && unzip -j "MyThes-1.zip" "MyThes-1.0/th_en_US_new.dat" && rm MyThes-1.zip

Import thesaurus file into note-thesaurus

var thesaurus = require("thesaurus");

// import the file, add (or update) the words. This function extends the preloaded English Thesaurus Dictionary. For using the loaded one only, use "replace" function instead.
var updated_thesaurus = thesaurus.load("./th_en_US_new.dat");

// TODO you can't save it yet.. but you can export the resulting JSON using:
console.log(updated_thesaurus.toJson());

// to clear the internal dictionary
thesaurus.reset()

// to replace the loaded dictionary by one loaded from the given thesaurus dat file.(reset and load) 
thesaurus.replace("./th_en_US_new.dat")