agora-team / elasticsearch-sinonime

 Elasticsearch sinonime

construi stare PyPI Versiune

acest depozit conține un set de date întreținută de sinonime în format Solr. Thesesynonyms poate fi folosit pentru Elasticsearch sinonim Token filtru de configurare.

instrumente suplimentare de ajutor în acest depozit:

  • synlint: instrument Commandline pentru a scame și valida fișierele sinonime.
  • synonyms.sublime-syntax: Fișier de evidențiere a sintaxei pentru Sublime Text 3.

dacă utilizați Elasticssearch cu Django, s-ar putea găsi dj-elasticsearch-flex util.

de ce?

încercând să configurez sinonime în Elasticsearch, am constatat că documentele pentru aceasta sunt surprinzător de împrăștiate.Documentele disponibile nu fac prea multă dreptate și pierd multe cazuri de colț.

de exemplu, o mapare Solr incorectă: hello, world, ar fi adăugată fericit în configurația indexului.Cu toate acestea, de îndată ce ați încerca să redeschideți indexul, veți obține un malform_input_exception (subiect de discuție).

acest depozit rezolvă astfel de probleme cu un instrument linter care poate fi folosit pentru a valida sinonimfiles în prealabil.

Seturi de date

fișierele sinonime din data/ pot fi utilizate direct în configurația elasticsearch.

următoarele seturi de date sunt disponibile în prezent:

  • be-ae: Engleză Britanică și engleză americană ortografii. Din AVKO.org.
  • medical-terms: un fișier sinonim cu mai multe terminologii medicale, Abrevieri și rezoluție.

instalare

dacă doriți să utilizați instrumentul synlint, instalați pachetul din PIP utilizând:

pip install elasticsearch-synonym-toolkit

Pachetul Python este instalat ca es_synonyms. Aceasta va instala, de asemenea, un instrument linter,es-synlint. Utilizați-l cu:

es-synlint 

utilizare

în majoritatea cazurilor, doriți să utilizați acest modul ca ajutor pentru încărcarea sinonimelor validate dintr-un fișier sau o adresă 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')

Configurarea sinonim Tokenfilter cu Elasticsearch DSL Py, este foarte ușor, de asemenea:

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=)

pentru a utiliza linterul de bază, puteți importa clasa SynLint.

dezvoltare

  • clona acest depozit.
  • instalați dependențele pachetului prin pip cu: pip install -r requirements.txt.
  • pentru a rula teste:
./panda test:all

Licență

Lasă un răspuns

Adresa ta de email nu va fi publicată.