同义词最简单的表达形式是 逗号分隔:
- “jump,leap,hop”
如果遇到这些词项中的任何一项,则将其替换为所有列出的同义词。例如:
原始词项: 取代:
────────────────────────────────
jump → (jump,leap,hop)
leap → (jump,leap,hop)
hop → (jump,leap,hop)
或者, 使用 => 语法,可以指定一个词项列表(在左边),和一个或多个替换(右边)的列表:
"u s a,united states,united states of america => usa"
"g b,gb,great britain => britain,england,scotland,wales"
原始词项: 取代:
────────────────────────────────
u s a → (usa)
united states → (usa)
great britain → (britain,england,scotland,wales)
如果多个规则指定同一个同义词,它们将被合并在一起,且顺序无关,否则使用最长匹配。以下面的规则为例:
"united states => usa",
"united states of america => usa"
如果这些规则相互冲突,Elasticsearch 会将 United States of America 转换为词项 (usa),(of),(america) 。否则,会使用最长的序列,即最终得到词项 (usa) 。