【发布时间】:2021-03-30 22:50:42
【问题描述】:
我想为某些关键字创建 Elasticsearch 索引,例如.. hashtag。 并为关键字制作同义词过滤器。
我认为索引关键字有两种方法,第一种是keyword类型。
{
"settings": {
"keywordField": {
"type": "keyword"
}
}
}
如果使用League of Legends 建立索引
也许是这个。
{
"keywordField": ["leagueoflegends", "league", "legends", "lol" /* synonym */]
}
或text 输入:
{
"settings": {
"keywordField": {
"type": "text",
"analyzer": "lowercase_and_whitespace_and_synonym_analyzer"
}
}
}
也许是这样。
{
"keywordField": ["league of legends"](synonym: lol => leagueoflegends)
}
如果对该字段使用_analyzer api,则需要“leagueoflegends”、“league”、“legends”
搜索查询:“lol”、“英雄联盟”、“英雄联盟”必须匹配此字段。
哪种做法最好?
【问题讨论】:
标签: elasticsearch elasticsearch-7 elasticsearch-analyzers