Launch Week Day 1: Socket for Jira Is Now Available.Learn More
Socket
Book a DemoSign in
Socket

edict-index

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

edict-index

Build and search an index from EDICT or other EDICT format databases.

latest
Source
npmnpm
Version
0.0.2
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

edict-index

Build and search an index from EDICT/EDICT2 or other EDICT-like dictionary files.

Usage

If you have a dictionary file as a string, you can build an index and search it like this:

const EdictIndex = require('edict-index');

const index = EdictIndex.buildIndex(EDICT2_AS_STRING); // This takes a long time so you should only do it once.
const results = index.search('十六夜');
console.log(JSON.stringify(results, null, 2));

This prints the following:

[
  {
    "kanji": [
      "十六夜"
    ],
    "readings": [
      "いざよい"
    ],
    "glosses": [
      {
        "tags": [
          "n"
        ],
        "seeAlso": [],
        "definition": "sixteen-day-old moon"
      }
    ],
    "matchType": 100,
    "frequencyRank": 36431
  }
]

For examples that show how to obtain, decompress, and convert a dictionary file, see:

  • example_edict2.js
  • example_hispadic.js

matchType is an enum. The values can be accessed via const { MatchType } = require('edict-index');. The values are:

module.exports = {
  KANJI_OR_KANA_EXACT: 100,
  KANJI_OR_KANA_SUBSTRING: 75,
  DEFINITION_EXACT: 50,
  DEFINITION_SUBSTRING: 25,
  FUZZY: 1,
};

The frequencyRank is determined using a word frequency list in the module. This is used for sorting results. If the word is not in the frequency list, its rank will be Number.MAX_SAFE_INTEGER.

This module uses FlexSearch to index and search the dictionary. You can access the FlexSearch index directly if you need to const { flexSearchIndex } = EdictIndex.buildIndex(EDICT2_AS_STRING);.

Keywords

edict

FAQs

Package last updated on 18 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts