agora-team / elasticsearch-synonyma

Elasticsearch Synonyma

stav sestavení verze PyPI

toto úložiště obsahuje kurátorskou datovou sadu synonym ve formátu Solr. Thesesynonyma mohou být použity pro konfiguraci filtru Elasticsearch synonymum Token.

další pomocné nástroje v tomto úložišti:

  • synlint: nástroj příkazového řádku pro chuchvalce a ověření souborů synonymum.
  • synonyms.sublime-syntax: Soubor zvýraznění syntaxe pro Sublime Text 3.

pokud používáte Elasticssearch s Django, můžete najít dj-elasticsearch-flex užitečné.

proč?

při pokusu o konfiguraci synonym v Elasticsearch jsem zjistil, že dokumenty pro něj jsou překvapivě rozptýleny.Dokumenty, které jsou k dispozici, také nedělají moc spravedlnosti a nechybí mnoho rohových případů.

například nesprávné mapování Solr: hello, world, by bylo šťastně přidáno do konfigurace indexu.Jakmile se však pokusíte index znovu otevřít, dostanete malform_input_exception (diskusní vlákno).

tento repozitář řeší tyto problémy pomocí nástroje linter, který lze použít k ověření synonyma předem.

datové sady

soubory synonymum v data/ lze použít přímo v konfiguraci elasticsearch.

v současné době jsou k dispozici následující datové soubory:

  • be-ae: britská angličtina a americká anglická hláskování. Od AVKO.org.
  • medical-terms: soubor synonymum s několika lékařské terminologie, zkratky a rozlišení.

instalace

Chcete – li použít nástroj synlint, nainstalujte balíček z PIP pomocí:

pip install elasticsearch-synonym-toolkit

balíček Python je nainstalován jako es_synonyms. Tím se také nainstaluje nástroj linter,es-synlint. Použijte jej s:

es-synlint 

použití

ve většině případů byste chtěli použít tento modul jako pomocník pro načítání ověřených synonym ze souboru nebo adresy url:

from es_synonyms import load_synonyms# Load synonym file at some URL:be_ae_syns = load_synonyms('https://to.noop.pw/2sI9x4s')# Or, from filesystem:other_syns = load_synonyms('data/be-ae.synonyms')

konfigurace synonymum Tokenfilter s Elasticsearch DSL Py, je velmi snadné, příliš:

from elasticsearch_dsl import analyzer, token_filterbe_ae_syns = load_synonyms('https://to.noop.pw/2sI9x4s')# Create a tokenfilterbrit_spelling_tokenfilter = token_filter( 'my_tokenfilter', # Any name for the filter 'synonym', # Synonym filter type synonyms=be_ae_syns # Synonyms mapping will be inlined)# Create analyzerbrit_english_analyzer = analyzer( 'my_analyzer', tokenizer='standard', filter=)

Chcete-li použít podkladový linter, můžete importovat třídu SynLint.

vývoj

  • Klonujte toto úložiště.
  • nainstalujte závislosti balíčků pomocí pip pomocí: pip install -r requirements.txt.
  • spuštění testů:
./panda test:all

Licence

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.