当前位置: 首页 > 面试题库 >

如何在elasticsearch中找到最常用的短语?

夏英发
2023-03-14
问题内容

我知道您可以使用构面在索引中找到最常用的术语。

例如,以下输入:

"A B C" 
"AA BB CC"
"A AA B BB"
"AA B"

术语方面返回以下内容:

B:3
AA:3
A:2
BB:2
CC:1
C:1

但我想知道是否可以列出以下内容:

AA B:2
A B:1
BB CC:1

....etc...

ElasticSearch中有这样的功能吗?


问题答案:

正如ramseykhalaf的评论中提到的,带状滤波器会产生长度为“ n”个单词的令牌。

"settings" : { 
   "analysis" : {
       "filter" : {
          "shingle":{
              "type":"shingle",
              "max_shingle_size":5,
              "min_shingle_size":2,
              "output_unigrams":"true"
           },
           "filter_stop":{
              "type":"stop",
              "enable_position_increments":"false"
           }
       },
       "analyzer" : {
           "shingle_analyzer" : {
               "type" : "custom",
               "tokenizer" : "whitespace",
               "filter" : ["standard," "lowercase", "shingle", "filter_stop"]
           }
       }
   }
},
"mappings" : {
   "type" : {
       "properties" : {
           "letters" : {
               "type" : "string",
               "analyzer" : "shingle_analyzer"
           }
       }
   }
}

有关完整详细信息,请参见此博客文章。



 类似资料:
  • 问题内容: 这似乎是一个非常简单的问题,但是我正在寻找一种尚可理解的简短而甜蜜的方法(这不是代码高尔夫)。 给定一个字符串列表,找到最短字符串的最简单方法是什么? 对我来说最明显的方式大致是: 但这似乎是很多解决此问题的代码(至少在python中)。 问题答案: 该函数具有一个可选参数,可让您指定一个函数来确定每个项目的“排序值”。我们只是需要将其设置为的功能来获得最短的价值:

  • 我有一个一般性的问题,关于如何在边没有权的无向图中找到最短路径和最长路径。 我们需要使用DFS算法来寻找图中的最长路径,而我们需要使用BFS算法来寻找图中的最短路径,这是一个正确的结论吗?

  • 我正在写一个程序,使用扫描仪的方法读取文本文件,并输出:字数,句子数,平均每个句子的字数,最长的句子和最短的句子。到目前为止,除了最长和最短的句子,我什么都知道了,我似乎想不出来。这是我目前所掌握的... 如果有人能帮上忙,我将感激不尽!!

  • 问题内容: 我试图检查elasticsearch 6.2.1的RestHighLevelClient中是否存在索引 目前我正在使用以下代码 它工作正常,但我想找到一些相关方法,例如 elasticsearch6.2.1 任何帮助都非常感谢。 问题答案: 在高级REST客户端(可能从6.3版本开始)支持此功能之前,您可以通过使用低级REST客户端并向您的索引名称发出HEAD HTTP请求来 实现此目

  • 我在Elasticsearch中放置了两个文档: 为什么此查询返回2个文档: 而这一个,只有第二个文件: 我希望弹性搜索能够匹配我传递给查询参数的确切短语,带有空格,我该怎么做?

  • 问题内容: 我明白 将导出列表中最常见的元素 但是如何在不使用辅助函数的情况下导出列表列表中最常见的元素? 例如 输出应等于。 当我尝试 它写道 谁能帮帮我吗? 问题答案: 有很多方法,但是我想让您知道,标准模块中有一些用于这类事情的好工具,例如: 或者,您可以(有点)将当前解决方案用于每个子列表: