【问题标题】:Is it possible to returned the analyzed fields in an ElasticSearch >2.0 search?是否可以在 ElasticSearch >2.0 搜索中返回分析的字段?
【发布时间】:2016-03-16 11:37:25
【问题描述】:

这个问题感觉和这里发布的一个老问题非常相似:Retrieve analyzed tokens from ElasticSearch documents,但是为了看看是否有任何变化,我认为对于最新版本的 ElasticSearch 再次发布它是有意义的。

我们正在尝试使用 search-queryfield-mapping 使用 ElasticSearch 内置的 snowball 词干分析器在 ElasticSearch 中搜索文本正文.性能和结果都很好,但是因为我们需要为后期分析提供词干文本主体,所以我们希望搜索结果返回搜索结果中每个文档的文本字段的实际词干标记。

该字段的映射当前如下所示:

      "TitleEnglish": {
        "type": "string",
        "analyzer": "standard",
        "fields": {
          "english": {
            "type": "string",
            "analyzer": "english"
          },
          "stemming": {
            "type": "string",
            "analyzer": "snowball"
          }
        }
      }

并且搜索查询是专门针对 TitleEnglish.stemming 执行的。理想情况下,我希望它返回该字段,但返回的不是返回分析的字段而是返回原始字段。

有没有人知道有什么方法可以做到这一点?我们查看了Term Vectors,但它们似乎只能用于单个文档或文档主体,而不是搜索结果?

或者也许像 Solr 或 Sphinx 等其他解决方案确实提供此选项?


添加一些额外的信息。如果我们运行以下查询:

GET /_analyze?analyzer=snowball&text=Eight issue of Industrial Lorestan eliminate barriers to facilitate the Committees review of

它返回词干词:eightissuindustri 等。这正是我们希望为文本中所有词的每个匹配文档返回的结果(所以不仅仅是匹配)。

【问题讨论】:

  • 那么,您链接到的问题中的解决方案对您不起作用?他们出了什么问题?
  • 术语向量答案不是实际的解决方案(如上所述)。
  • 是的,我看到了,但它没有向我解释任何事情。如果不是文档,搜索结果是什么?
  • 在我们的情况下,搜索结果是一组文档(例如:8000 个文档),我们不想单独提取这些文档的术语向量,因为这对于实际来说过于密集-时间分析。

标签: elasticsearch lucene nlp


【解决方案1】:

除非我遗漏了一些明显的东西,否则为什么不在TitleEnglish.stemming 字段上简单地返回一个terms aggregation

{
    "query": {...},
    "aggs" : {
        "stems" : {
            "terms" : { 
                "field" : "TitleEnglish.stemming",
                "size": 50
            }
        }
    }
}

将该聚合添加到您的查询中,您会从与您的查询匹配的文档中获得 TitleEnglish.stemming 子字段中所有词干的细分。

【讨论】:

  • 感谢您的回答 Val。我已经尝试过了,它确实适用于您所描述的内容。在文档旁边,它返回搜索返回中存在的所有词干标记的列表。这并不是我们真正要寻找的答案,因为我们现在仍然必须解析每个文档并将其映射到其词干成分。
  • 所以您需要为每个文档返回词干标记?
  • 是的,这就是我们所追求的情况。如果不清楚,我会更新我最初的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
相关资源
最近更新 更多