Elasticsearch остановить слова относительный путь - PullRequest
0 голосов
/ 20 апреля 2020

Может кто-нибудь сказать мне, пожалуйста, что документация эластичного поиска означает относительный путь к каталогу конфигурации ? Я не вижу ничего в установке ES. Мне нужно найти файл стоп-слов, который определен в индексе es, как "stopwords_path": "stopwords/slovak.txt", но я не могу найти файл с этим именем. Может быть, Win 10 не может найти его, потому что у него действительно плохая поисковая система. Большое спасибо.

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Как написано в документации, вы должны создать файл s Slovak.txt в соответствии со следующим синтаксисом:

Путь (относительно расположения конфигурации или абсолютный) к конфигурации файла стоп-слов. Каждое стоп-слово должно быть в своей собственной «строке» (разделенной переводом строки). Файл должен быть в кодировке UTF-8.

, поэтому вы должны создать файл slowak.txt следующим образом:

a
aby
aj
ak
aká
akáže
aké
akého
akéhože
akej
akejže
akému
akémuže
akéže
ako
akom
akomže
akou
akouže
akože
akú
akúže
aký
akých
akýchže
akým
akými
akýmiže
akýmže
akýže
ale
alebo
ani
áno
asi
avšak
až
ba
bez
bezo
bol
bola
boli
bolo
buď
bude
budem
budeme
budeš
budete
budú
by
byť
cez
cezo
čej
či
čí
čia
čie
čieho
čiemu
čím
čími
čiu
čo
čoho
čom
čomu
čou
čože
ďalší
ďalšia
ďalšie
ďalšieho
ďalšiemu
ďalších
ďalším
ďalšími
ďalšiu
ďalšom
ďalšou
dnes
do
ešte
ho
hoci
i
iba
ich
im
iná
iné
iného
inej
inému
iní
inom
inú
iný
iných
iným
inými
ja
je
jeho
jej
jemu
ju
k
ká
kam
kamže
každá
každé
každého
každému
každí
každou
každú
každý
každých
každým
každými
káže
kde
ké
keď
keďže
kej
kejže
kéže
kie
kieho
kiehože
kiemu
kiemuže
kieže
koho
kom
komu
kou
kouže
kto
ktorá
ktoré
ktorej
ktorí
ktorou
ktorú
ktorý
ktorých
ktorým
ktorými
ku
kú
kúže
ký
kýho
kýhože
kým
kýmu
kýmuže
kýže
lebo
leda
ledaže
len
ma
má
majú
mal
mala
mali
mám
máme
máš
mať
máte
medzi
mi
mňa
mne
mnou
moja
moje
mojej
mojich
mojim
mojimi
mojou
moju
možno
môcť
môj
môjho
môže
môžem
môžeme
môžeš
môžete
môžu
mu
musí
musia
musieť
musím
musíme
musíš
musíte
my
na
nad
nado
najmä
nám
nami
nás
náš
naša
naše
našej
nášho
naši
našich
našim
našimi
našou
ne
neho
nech
nej
nejaká
nejaké
nejakého
nejakej
nejakému
nejakom
nejakou
nejakú
nejaký
nejakých
nejakým
nejakými
nemu
než
nič
ničím
ničoho
ničom
ničomu
nie
niečo
niektorá
niektoré
niektorého
niektorej
niektorému
niektorom
niektorou
niektorú
niektorý
niektorých
niektorým
niektorými
nielen
nich
nim
ním
nimi
no
ňom
ňou
ňu
o
od
odo
on
oň
ona
oňho
oni
ono
ony
po
pod
podľa
podo
pokiaľ
popod
popri
potom
poza
práve
pre
prečo
pred
predo
preto
pretože
pri
s
sa
seba
sebe
sebou
sem
si
sme
so
som
ste
sú
svoj
svoja
svoje
svojho
svojich
svojim
svojím
svojimi
svojou
svoju
ta
tá
tak
taká
takáto
také
takéto
takej
takejto
takého
takéhoto
takému
takémuto
takí
taký
takýto
takú
takúto
takže
tam
táto
teba
tebe
tebou
teda
tej
tejto
ten
tento
ti
tí
tie
tieto
tiež
títo
to
toho
tohto
tohoto
tom
tomto
tomu
tomuto
toto
tou
touto
tu
tú
túto
tvoj
tvoja
tvoje
tvojej
tvojho
tvoji
tvojich
tvojim
tvojím
tvojimi
ty
tých
tým
tými
týmto
u
už
v
vám
vami
vás
váš
vaša
vaše
vašej
vášho
vaši
vašich
vašim
vaším
veď
viac
vo
však
všetci
všetka
všetko
všetky
všetok
vy
z
za
začo
začože
zo
že

Этот файл должен находиться внутри ES_PATH_CONF, поэтому в linux - это /etc/elasticsearch/, а в windows - C:\ProgramData\Elastic\Elasticsearch\config Затем вы следуете обозначению относительного пути. Поэтому, если это C:\ProgramData\Elastic\Elasticsearch\config\slowak.txt, вы должны установить свой путь следующим образом:

"stopwords_path":"slowak.txt"

, если вы поместите его в C:\ProgramData\Elastic\Elasticsearch\config\synonym\slowak.txt, который вы установили:

"stopwords_path":"synonym\slowak.txt"
1 голос
/ 20 апреля 2020

Что означает эта документация, так это то, что вы можете указать свой собственный путь или использовать соответствующий файл для определения своих собственных стоп-слов в текстовом файле.

если вы используете относительный путь, тогда он должен находиться внутри вашей папки конфигурации или эластичного поиска, где присутствует ваш elasticsearch.yml.

Если вы выбрали абсолютный путь, то вы можете сохраните этот файл в в любом месте, где у эластичного поиска есть доступ.

Только что воспроизвел вашу проблему и использовал GET Settings API , чтобы указать текущее местоположение этого файла

Например:

GET yourindex/_settings 

Возвращает путь, который вы указали при создании этого параметра.

{
    "stopwords": {
        "settings": {
            "index": {
                "number_of_shards": "1",
                "provided_name": "stopwords",
                "creation_date": "1587374021579",
                "analysis": {
                    "filter": {
                        "my_stop": {
                            "type": "stop",
                            "stopwords": [
                                "and",
                                "is",
                                "the"
                            ],
                            "stopwords_path": "opster.txt". -> this is the file location which in this is relative
                        }
                    }
                },
                "number_of_replicas": "1",
                "uuid": "EQyF7JydTXGXoebh52yNpg",
                "version": {
                    "created": "7060199"
                }
            }
        }
    }
}

Обновление: пример с абсолютным путем, заданным как я, установив tar на Elasticsearch на машине с Ubuntu EC2 и используя ту же самую настройку индекса GET , выясняет это.

...