【问题标题】:Elasticsearch stop words relative pathElasticsearch 停用词相对路径
【发布时间】:2020-08-02 17:35:22
【问题描述】:

有人可以告诉我elasticsearch documentation配置目录的相对路径是什么意思吗?我在 ES 安装中看不到任何内容。我需要找到一个在 es 索引中定义的停用词文件,例如 "stopwords_path": "stopwords/slovak.txt",但我找不到任何具有此名称的文件。可能是 Win 10 无法找到它,因为它的搜索引擎非常糟糕。非常感谢。

【问题讨论】:

  • 这个slovak.txt是你自己创建的吗?
  • 你已经很久没有投票给我的答案了,如果你的问题得到解决,如果你能投票给答案,那就太好了
  • 你在说什么?我是在很久以前记录的。
  • 抱歉误会,祝您有美好的一天:)

标签: elasticsearch config stop-words


【解决方案1】:

此文档的意思是您可以提供自己的路径或使用相关文件在文本文件中定义自己的停用词。

如果您使用的是相对路径,那么它应该在您的配置文件夹或 elasticsearch 中,您的 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"
                }
            }
        }
    }
}

更新:我在 ubuntu EC2 机器上安装 Elasticsearch 的 tar 时给出的绝对路径示例,并使用 same GET index setting 计算得出。

【讨论】:

  • 但它是真实的路径。答案是 C:\ProgramData\Elastic\Elasticsearch\config
  • @Čamo,好吧,我提到了如何使用 API :),所以这是找出你给出的路径的最佳方法,不是这样对所有人都有帮助吗?用户无论相对或绝对路径或基于操作系统:)
  • 是的,因为您在 Elastic 考虑相对路径的配置文件夹中创建了它
【解决方案2】:

如文档中所述,您应该根据以下语法创建文件 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"

【讨论】:

  • 但是这个文件和这个索引已经被创建了。我不想创建一个。我需要找到这个。
  • 是 C:\ProgramData\Elastic\Elasticsearch\config\stopwords/slovak.txt 内的 slowak.txt 文件吗?如果不是,elasticsearch 看不到你的文件
  • 是的。这是 C:\ProgramData\Elastic\Elasticsearch\config
猜你喜欢
  • 2020-07-21
  • 2013-07-28
  • 2012-01-11
  • 2010-09-15
  • 2013-04-17
  • 2012-08-29
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多