如何使用 ElasticSearch 在字符串字段中搜索精确的短语?

2024-01-12

我想在文档中搜索“社交网络营销”。全部一起。但我继续得到单词分开的结果。我有以下 DSL 查询:

{
    "fields": ["title"], 
    "query": {
        "bool": {
            "should": [{
                "match": {
                    "title": "SEO"
                }
            }],
            "must": [{
                "match": {
                    "content": {
                        "query": "Marketing in social networks",
                        "operator": "and"
                    }
                }
            }]
        }
    }
}

我没有包含此短语和标题的文档,但我也得到了结果(文档),其中包含要搜索的短语的单词。我要严格搜查。如果没有任何文档包含此短语,则不检索任何文档或仅检索具有该标题的文档。 为什么运算符和不起作用?


您可以像下面一样尝试使用键入短语吗?看here https://www.elastic.co/guide/en/elasticsearch/guide/current/phrase-matching.html它说,

查询首先分析查询字符串以生成术语列表。它 然后搜索所有术语,但仅保留包含以下内容的文档 所有搜索词,相对于彼此处于相同的位置

{
    "fields": ["title"], 
    "query": {
        "bool": {
            "should": [{
                "match": {
                    "title": "SEO"
                }
            }],
            "must": [{
                "match": {
                    "content": {
                        "query": "Marketing in social networks",
                        "type":  "phrase"
                    }
                }
            }]
        }
    }
}

PS:我还没试过。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 ElasticSearch 在字符串字段中搜索精确的短语? 的相关文章

  • 在elasticsearch结果中显示不匹配的单词

    我想显示返回文档的多单词查询不匹配哪些单词 是否有查询类型或参数来实现此目的 通常 此类不匹配的单词会以删除线字体显示给用户 我得到答案后的示例查询 POST posts search query bool should match nam
  • 如何在 kibana 中自动配置索引模式

    是否可以在 kibana 中自动配置索引模式 要么通过一些设置文件 要么通过rest api 安装后可以手动完成 Kibana 5 x 公开了这样的 API 来管理索引模式 要创建索引模式 可以发出以下命令来 kibana 访问 url 只
  • 局部敏感哈希 - Elasticsearch

    有没有允许在 Elasticsearch 上使用 LSH 的插件 如果是的话 您能否指出该位置并告诉我如何使用它 谢谢 编辑 我发现ES使用了MinHash插件 我怎样才能用这个来比较文件呢 查找重复项的最佳设置是什么 有一个Elastic
  • 如何使用 django-haystack 和 elasticsearch 后端进行模糊搜索?

    看起来好像elasticsearch支持模糊查询 http www elasticsearch org guide reference query dsl fuzzy query http www elasticsearch org gui
  • C# Elasticsearch NEST 无法转换 lambda 表达式

    我遇到了与此处描述的完全相同的问题 但未得到解答 ElasticSearch NEST 搜索 https stackoverflow com questions 24615676 elasticsearch nest search I us
  • ElasticSearch 定义自定义映射与默认“_doc”映射冲突

    尝试创建自定义映射类型时会发生此问题 为第一个插入弹性创建自定义映射后想要创建 doc映射类型和冲突就发生在这里 第一步我创建一个映射 mappings properties field1 type keyword field2 type
  • 在弹性搜索中使用 GET/POST 时的不同结果

    我正在通过 Elastic Search Head 插件尝试弹性搜索 当我通过 POST 提交查询时 结果符合预期 但是 当我使用 GET 尝试相同的查询时 我总是会返回索引中的所有值 那么 如何通过 GET 将查询传递到弹性搜索服务器 以
  • 弹性搜索文档计数

    我正在运行 2 2 版本的 Elastic 搜索 我已经创建了索引并加载了示例文档 我发现其中有些问题 当我给予 GET index type count 我得到了正确的答案 count 9998 shards total 5 succes
  • SQL Server 全文搜索 - 是否可以在单词中间进行搜索?

    我的数据库有全文搜索 是否可以在单词中间搜索某些文本 例如 我有一个描述列 其中包含以下文本 Revolution 是否可以搜索 EVO 并让它在 革命 一词中找到它 或者我是否一直在做 LIKE SELECT FROM Table WHE
  • 在 Elasticsearch 中删除文件后回收磁盘空间

    当我从 Elasticsearch 中删除文档时 为什么我的 总大小 保持不变 尽管由于没有以前存储的数据而明显小得多 我读过有关索引优化的内容 但我不确定这是什么或如何做到这一点 Thanks 我确信 SO 和 Google 上都有大量与
  • 从 node.js 创建对 AWS ES 实例的有效签名请求

    我试图找到一个示例 说明如何连接到 Node js 中的 AWS ES 实例 然后通过一个简单的请求访问 ES 集群 我正在尝试使用elasticsearch节点包 https www npmjs com package elasticse
  • 使用全文搜索查找精确匹配

    使用 Sql Server 2008 如何使用全文搜索来实际找到精确的字符串匹配 我对此感到非常困难 而且我在网上找不到令人满意的解决方案 例如 如果我正在搜索字符串 Bojan Skrchevski 我希望第一个结果正是如此 到目前为止
  • 尝试在 ElasticSearch 中查询和聚合,但聚合不起作用 - elasticsearch.js 客户端

    我尝试查询我的数据集有两个目的 匹配一个术语 可转售 true 按价格对结果进行排序 最低到最高 数据集 文档是 data resellable true startingPrice 0 id 4emEe r x5DRCc5 buyNowP
  • ElasticSearch 映射对分组文档进行折叠/执行操作的结果

    有一个对话列表 每个对话都有一个消息列表 每条消息都有不同的字段和action场地 我们需要考虑到在对话的第一条消息中使用了动作A 在几条消息之后有使用的动作A 1过了一会儿A 1 1等等 有一个聊天机器人意图列表 对对话的消息操作进行分组
  • Elasticsearch Nest 通配符查询(带空格)

    简洁版本 我想使用 Nest 编写一个弹性搜索查询来获取完整的索引项 ContentIndexables在我的例子中作为我的自定义类型 已被索引 该查询受 some string 术语查询的约束 即 String StartsWith 其中
  • SQLite FTS4 使用特殊字符进行搜索

    我有一个 Android 应用程序 它使用 FTS4 虚拟表在 SQLite 数据库中搜索数据 它工作正常 但是当表中的数据包含特殊字符 如 或 时 SQLite MATCH 函数不会给出任何结果 我现在迷路了 谢谢 注意 默认的分词器真的
  • Elastic Search 索引经常被删除[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 google cloud 上对个人项目运行弹性搜索 并将其用作我的应用程序的搜索索引 从最近三天开始 索引就被神秘地删除了 我不知
  • 在 Elasticsearch Java API 中使用 slop 维护匹配短语查询的序列顺序

    我正在尝试执行一个查询 该查询应该与短语查询类似 只是连续标记内可能存在间隙 例子 Document a b c d Search a c gt gt This should return the document Search c a g
  • 告诉我 SQL Server 全文搜索器疯了,不是我疯了

    我有一些客户具有用户正在搜索的特定地址 123 通用方式 数据库中有 5 行匹配 ResidentialAddress1 123 GENERIC WAY 123 GENERIC WAY 123 GENERIC WAY 123 GENERIC
  • 聚合多个递归logstash

    我正在使用带有输入 jdbc 的 Logstash 并且希望通过聚合将一个对象嵌入到另一个对象中 如何使用添加递归 即在另一个对象中添加一个对象 这是一个例子 index my index type test id 1 version 1

随机推荐