首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有'-‘的查询在ElasticSearch NEST 7.x中返回不正确的结果

在ElasticSearch NEST 7.x中,带有'-'的查询可能会导致返回不正确的结果。这是因为在ElasticSearch中,'-'被视为特殊字符,用于表示排除某个词语。当使用带有'-'的查询时,ElasticSearch会将其解析为排除该词语的操作,而不是作为普通的字符进行匹配。

为了解决这个问题,可以使用以下方法之一:

  1. 使用转义字符:在查询中使用转义字符''来转义'-',将其视为普通字符进行匹配。例如,如果要查询包含'-'的词语,可以使用'\-'来表示。
  2. 使用引号包裹查询:将带有'-'的查询用引号包裹起来,使其成为一个短语进行匹配。例如,使用'"-"'来表示查询包含'-'的词语。
  3. 修改分词器设置:如果带有'-'的查询在你的业务场景中非常常见,你可以考虑修改ElasticSearch的分词器设置,将'-'作为一个独立的词语进行处理。这样可以确保带有'-'的查询能够正确匹配。

需要注意的是,以上方法可能会对其他查询产生影响,因此在使用之前请仔细评估其对整体搜索结果的影响。

关于ElasticSearch NEST 7.x的更多信息和使用方法,你可以参考腾讯云的Elasticsearch文档:Elasticsearch

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Elasticsearch 7.x 映射(Mapping)字段类型和结果各个字段介绍

一、Mapping 字段类型: Elasticsearch 字段类型类似于 MySQL 字段类型。Elasticsearch 字段类型主要有:核心类型、复合类型、地理类型、特殊类型。...所以datauri(文件路径)使用了 text 类型 keyword 适合简短、结构化字符串,例如主机名、姓名等,可以用于过滤、排序、聚合检索,也可以用于精确查询。...data_quality": null } } ] } } took 值告诉我们执行整个搜索请求耗费了多少毫秒 _shards 部分告诉我们查询参与分片总数...timed_out 告诉我们查询是否超时 hits 数组每个结果包含文档 _index 、 _type 、 _id ,加上 _source 字段。...这意味着我们可以直接从返回搜索结果中使用整个文档。这不像其他搜索引擎,仅仅返回文档ID,需要你单独去获取文档。

1.1K30
  • Laravel 6 缓存数据库查询结果方法

    这一次,我们将讨论直接从模型缓存 Eloquent 查询,从而使数据库缓存变轻而易举。 这个包可以 GitHub 找到,此文档将介绍该应用程序所有要点。...如果此查询缓存为空,那么会去数据库获取数据,并且缓存它,以便下次可以从缓存获取。如果此查询存在于缓存,那么直接返回。...// 数据库访问,查询结果存储缓存 Article::latest()- get();// 未访问数据库,查询结果直接从缓存返回。...首先,从模型移除变量 $cacheFor。 对于每个查询,你可以调用 – cacheFor(…) 方法去指定你想缓存那个查询。...Laravel 6 缓存数据库查询结果方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    5.2K41

    解决laravelleftjoin带条件查询没有返回右表为NULL问题

    问题描述:使用laravel左联接查询时候遇到一个问题,查询带了右表一个筛选条件,导致结果没有返回右表为空记录。...- leftJoin('class as c','c.user_id','=','u.user_id') - where('c.status','=',2) - get(); 解决方案: 1.mysql...角度上说,直接加where条件是不行,会导致返回结果返回class为空记录,正确是写法应该是 select u.user_id,c.class from users u left join class...里这个mysql表达式写法是怎样,我查阅了多个手册。。。...以上这篇解决laravelleftjoin带条件查询没有返回右表为NULL问题就是小编分享给大家全部内容了,希望能给大家一个参考。

    6.9K31

    .NET Core接入ElasticSearch 7.5

    这就解释了为什么索引主要分片数量只能在索引创建时被指定,并且将来都不能在被更改:如果主要分片数量索引创建后改变了,那么之前所有路由结果都会变地不正确,从而导致文档不能被正确地获取。...❞ 聚合提取阶段 假设查询落入分片数为 N,那么聚合阶段就是对 N*10 个结果集进行排序,然后再通过已经拿到 document_id 查到对应 document 并组装到队列里,组装完毕后将有序数据返回给客户端...,Primary Shard以及其所有Replica随机选择一个,让读请求负载均衡 接收请求node返回Document给Coordinating node Coordinating node返回...Document给客户端 ElasticSearch实战 ES.NET平台上官方客户端是NEST,以下操作都是基于该package。...返回数据,可以看到Id是一段字符串,这是因为写入过程并没有指定,所以会由ES默认生成。当然可以指定: ? 更新数据 ? _version值会随着操作次数,逐渐迭代。 删除数据 ?

    1.5K01

    ElasticSearch入门 附.Net Core例子

    ----来自维基百科解释 我个人理解是Elasticsearch(以下简称ES)是一个支持分布式全文搜索引擎,因为海量数据搜索时,普通关系型、非关系型数据库因为IO读取、处理器运算能力限制,导致查询效率难以提升...一路默认下一步,安装完成后,浏览器地址输入http://localhost:9200/,如果您能看到下列结果,说明安装完成。...4.4数据查询 ES数据查询语法较为丰富,此处以一个最简单查询为例,Http方法为POST,请求Url同样指定了Index和Type {    "query" : { "match" : {..."tagline" : "for" }} } 指查询tagline包含for数据, ?...代码不复杂,我就不详细介绍了,PostMan中进行Search方法测试,效果如下: ? 查询要求是type是567,响应实体,type确实为567,Success!

    2.5K10

    海量数据即时查询引擎ElasticSearch入门 附.Net Core例子

    ----来自维基百科解释 我个人理解是Elasticsearch(以下简称ES)是一个支持分布式全文搜索引擎,因为海量数据搜索时,普通关系型、非关系型数据库因为IO读取、处理器运算能力限制,导致查询效率难以提升...一路默认下一步,安装完成后,浏览器地址输入‘localhost:9200’,如果您能看到下列结果,说明安装完成。...指查询tagline包含for数据, 其他更详细查询语法,建议大家查看Elasticsearch: 权威指南,此处主要抛砖引玉。...以.Net Core为例,该”Clients”开源Github: https://github.com/elastic/elasticsearch-net 5.1 SDK(客户端,Clients) 该仓库...代码不复杂,我就不详细介绍了,PostMan中进行Search方法测试,效果如下: 查询要求是type是567,响应实体,type确实为567,Success!

    1.6K20

    ElasticSearch之安装及基本操作API

    安装环境及本文相关包: 操作系统 CentOS 7.5 64位 ElasticSearch 7.5.0 Kinbana 7.5.0 JDK 环境 ElasticSearch 7.x 自带 JDK...,没有异常抛出,访问 ip:9200,返回数据信息,其中包括集群名称,节点名,版本信息等等: 基本操作API 进行 API 操作前先安装 kibana,以下命令执行将全部 kibana 执行。...: 查询索引 使用 GET 请求方式查询索引信息: GET /person 返回结果 删除索引 使用 DELETE 请求方式: # 删除 person 索引 DELETE /person # 删除全部索引...q=name:ytao&from=0&size=2 返回结果: 更新文档 更新文档使用 _update API进行更新。更新内容必须包含在 doc。...}, { "_index": "person", "_id": 2 } ] } 返回结果: 批量查询文档 批量查询文档,使用 _msearch API

    69720

    Elasticsearch Search API之(Request Body Search 查询主体)-下篇

    6.1.0版本后废弃,将在7.x版本移除。 _replica 操作只副本分片上执行,如果有多个副本,其顺序随机。6.1.0版本后废弃,将在7.x版本移除。...6.1.0版本后废弃,将在7.x版本移除。 _only_local 操作将只分配给本地节点分片上执行。_only_local选项保证只本地节点上使用碎片副本,这对于故障排除有时很有用。...所有其他选项不能完全保证搜索中使用任何特定碎片副本,而且索引更改时,这可能意味着如果在处于不同刷新状态不同碎片副本上执行重复搜索,则可能产生不同结果。 _local 优先在本地分片上执行。...搜索响应每个匹配文档中会增加matched_queries结构体,记录该文档匹配查询名称。查询和筛选器标记只对bool查询有意义。...es排序查询响应结果中会返回sort数组,包含本排序字段最大值,下一页查询将该组字段当成查询条件,es在此数据基础下返回下一批合适数据。

    2.8K30

    ElasticSearch系列之什么是ElasticSearch?

    电商内部商品搜索等等 2、什么是ElasticSearchElasticSearch是一款开源高扩展分布式全文检索引擎,可以近实时地查询分析数据。...ES搜索和分析数据时需要秒级出结果 Cluster:集群,多个节点组成ES集群。 Node:节点,也就是一个ES实例。节点名称可以自动分配,也可以手动配置。...其实就类似于数据库中一条数据,通常以json方式返回。多个document存在于一个索引(index)。 Field:字段。就像数据库列,定义每个document应该有的字段。 Type:类型。...一个index可以对应一个或者多个type,type是index逻辑数据分类。...5.x版本,index下面可以创建多个type;6.x版本,一个index下只能存在一个type;7.x版本直接去除了type; 为什么要在7.x版本去除type?

    63420
    领券