编辑:我给出的坏示例。我的用例实际上是汉字,即"我我“中的短语匹配"我我我我我我我我我我”。因此,对于那些不熟悉中文搜索引擎的人来说,问题是在" b“中搜索"b b",而不是在"bbbbbbbbbb”中搜索"bb“。我还编辑了标题以避免混淆.
附加问题:如果在"max_expansions = 4“中使用”短语匹配前缀“,频率是多少?
原始帖子:假设搜索关键字是"bb",文档是"bbbbbbbbbb“(10b)。类型被分析,让我们说'b‘是被索引的“原子术语”。
我设想文档内部表示如下:{ 'b‘:0,1,2,3,4,5,6,7,8,9,元数据:{.},其中数字是“b”一词的位置。如果我错了,请纠正我。
根据弹性导轨,项频率tf(t in d) =sqrt(频率)。(https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html#tf)那么当短语和文档匹配10b时,频率是5还是9?
发布于 2019-01-21 08:02:56
当您使用“标准分析器”时,"bbbbbbbbb“将被分析为"0:bbbbbbbbb”,而不是这个{'b':0,1,2,3,4,5,6,7,8,9。搜索"bb“没有任何结果。如果docs中的短语类似于"b b“,那么{'b':0,1,2,3,4,5,6,7,8是正确的。但是如果你搜索"bb",就不会有结果了。但是如果你搜索像"b“这样的东西,它会分析到"b”或" b“,而文档中的频率是9(也许9+9/2)。
通过这个API,您可以看到如何计算分数:
得到/我的索引/doc/_search?解释
关于评分的更多信息:
https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html
https://stackoverflow.com/questions/54285375
复制相似问题