首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Elasticsearch整个文档搜索(Smart Search)

Elasticsearch整个文档搜索(Smart Search)
EN

Stack Overflow用户
提问于 2020-04-30 15:03:56
回答 1查看 112关注 0票数 0

我想要编写一个查询,以便能够在Elasticsearch索引中的所有字段中进行搜索。我使用批量API将数据插入到es中,并且在索引时没有选择任何特定的分析器。默认情况下,我的字段将被分析,并且我不想更改我的索引。

我想创建一个查询,它搜索elasticsearch中所有字段中的一段文本,并将包含该文本的所有文档作为某个字段中的子字符串返回。一种方法是对每个字段使用MatchPhrasePrefix查询,同时对所有字段使用OR over查询,以便在整个文档中进行搜索。我的一些字段是字符串,还有一些是字符串的映射。字符串的MatchPhrasePrefix查询是正常的。但是对于字符串的映射,键是不固定的,用户可以输入任何键和任意数量的键。因此,我被困在如何跨这样一个映射的所有键使用MatchPhrasePrefix查询,其中键本身不是固定的。如果键是固定的,我就会遍历映射条目,并使用查询字符串(“mapname.key”,“MatchPhrasePefixQuery”)和OR查询。

我同意我可以使用QueryString和SimpleQueryString,并在诸如Query("mapname.*","string")之类的键上使用通配符,但它没有给出正确的结果。因此,我使用MatchPhrasePrefix查询来分析我的字段。

关于如何在这样的动态映射字段中搜索字符串的任何建议。如果不是这样,那么我如何在ElasticSearch7.4中没有_all字段的文档中搜索字符串?

EN

回答 1

Stack Overflow用户

发布于 2020-04-30 16:29:03

你的问题很难读懂,如果你打破你的问题,并提供必要的信息来解决问题,那会更好。

如果你只关心:

任何关于如何在这样的动态映射字段中搜索字符串的建议。如果不是这样,那么我如何在ElasticSearch7.4中没有_all字段的文档中搜索字符串?

然后,可以使用elasticsearch的copy_to功能轻松实现,该功能在您的elasticsearch版本ie7.4中可用。如文档中所述

copy_to参数允许您将多个字段的值复制到一个组字段中,然后可以将其作为单个字段进行查询。例如,可以将first_name和last_name字段复制到full_name字段,如下所示:

请注意,整个示例显示在链接ie中,定义索引、索引示例文档和搜索查询。

如果你遇到任何问题,请让我知道,并乐于进一步帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61517662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档