【问题标题】:Elasticsearch how synonym token filter works if synonym is multi-word?如果同义词是多词,Elasticsearch 同义词标记过滤器如何工作?
【发布时间】:2020-04-27 19:51:08
【问题描述】:

如果同义词是多词表达并且分词器是空格,有人可以解释一下同义词令牌过滤器是如何工作的吗?例如。如果我有这个简单的映射

PUT /test_index
{
    "settings": {
        "index" : {
            "analysis" : {
                "analyzer" : {
                    "synonym" : {
                        "tokenizer" : "whitespace",
                        "filter" : ["synonym"]
                    }
                },
                "filter" : {
                    "synonym_graph" : {
                        "type" : "synonym",
                        "lenient": true,
                        "synonyms" : ["multi word, bar => baz"]
                    }
                }
            }
        }
    }
}

我不明白如果 whitespace tokenizer 将术语 multi word 分解为 two words multi 和 word,如何评估术语 multi word。因此,据我了解,同义词过滤器永远不会将“multi word”作为在配置中查找同义词的一个术语。任何帮助表示赞赏。

【问题讨论】:

  • 你的例子抛出了一个错误
  • 另外你用的是什么版本的elasticsearch?
  • 是的,过滤器名称错误。版本是 6.8。

标签: elasticsearch filter synonym


【解决方案1】:

答案可以在本节找到

https://www.elastic.co/guide/en/elasticsearch/reference/7.6/token-graphs.html

还有这篇博文

http://blog.mikemccandless.com/2012/04/lucenes-tokenstreams-are-actually.html

一些标记过滤器可以添加跨越多个位置的标记。这些可以包括多词同义词的标记,例如使用“atm”作为“自动柜员机”的同义词。但是,只有一些标记过滤器,称为图标记过滤器,才能准确记录多位置标记的 positionLength。

索引忽略 positionLength 属性并且不支持包含多位置标记的标记图。但是,查询(例如 match 或 match_phrase 查询)可以使用这些图从单个查询字符串生成多个子查询。

The following token filters can add tokens that span multiple positions but only record a default positionLength of 1:

- synonym
- word_delimiter

This means these filters will produce invalid token graphs for streams containing such tokens.

Avoid using invalid token graphs for search. Invalid graphs can cause unexpected search results.

【讨论】:

  • 如果我认为同义词过滤器不适用于多词术语,我应该使用 synonym_graph 过滤器,我是对的吗?我仍然不确定。
  • 6.8 中没有同义词图标记过滤器,至少文档中没有提到。
  • 我的错。正如我所看到的,虽然不完全确定,但您应该在索引时使用同义词过滤器,在搜索时使用同义词图(索引分析器、搜索分析器)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多