Elasticsearch .net client NEST 空字符/null值查询
null值查询
当某个字段值为null时,其实在es里该条数据是没有这个字段的。查询时检测包含不包含该字段就行。
/// <summary>
/// null 值查询
/// 当数据为Null时字段不存在
/// </summary>
/// <param name="indexName"></param>
public void NullValueQuery(string indexName)
{
var result = _client.Search<TestModel5>(
s => s
.Index(indexName)//索引
.Type(typeof(TestModel5))//类型
//fd.Name必须存在 即:fd.Name!=null
.Query(q=>q.Bool(b=>b.Must(mt=>mt.Exists(ex=>ex.Field(fd=>fd.Name))))
)); }
空字符查询
当某个字段值为空字符时(""),字段是存在的。
/// <summary>
/// 空字符查询
/// </summary>
/// <param name="indexName"></param>
public void StringEmptyQuery(string indexName)
{
var result = _client.Search<TestModel5>(
s => s
.Index(indexName)//索引
.Type(typeof(TestModel5))//类型
//.Verbatim()如果不加该查询条件无效
.Query(q => q.Bool(b => b.Must(mt => mt.Term(ex => ex.Verbatim().Field(fd => fd.Name).Value(""))))
));
}
感谢群友的普及。
如果你也在用NEST 不妨一起来交流学习吧。^.^
Elasticsearch.Net、NEST 交流群:523061899
Elasticsearch .net client NEST 空字符/null值查询的更多相关文章
- Elasticsearch .Net Client NEST 多条件查询示例
Elasticsearch .Net Client NEST 多条件查询示例 /// <summary> /// 多条件搜索例子 /// </summary> public c ...
- Elasticsearch .net client NEST 5.x 使用总结
目录: Elasticsearch .net client NEST 5.x 使用总结 elasticsearch_.net_client_nest2.x_到_5.x常用方法属性差异 Elastics ...
- Elasticsearch .Net Client NEST使用说明 2.x
Elasticsearch .net client NEST使用说明 2.x Elasticsearch.Net与NEST是Elasticsearch为C#提供的一套客户端驱动,方便C#调用Elast ...
- Elasticsearch .net client NEST使用说明 2.x -更新版
Elasticsearch .net client NEST使用说明 目录: Elasticsearch .net client NEST 5.x 使用总结 elasticsearch_.net_cl ...
- (转)Elasticsearch .net client NEST使用说明 2.x
Elasticsearch.Net与NEST是Elasticsearch为C#提供的一套客户端驱动,方便C#调用Elasticsearch服务接口.Elasticsearch.Net是较基层的对Ela ...
- Mysql Not in有null值查询的问题
今天发现Mysql的not in使用的一个问题,大致是: select * from A where id not in (select fid from B). 发现查询结果无论如何都是0条记录.后 ...
- Elasticsearch .Net Client NEST 索引DataSet数据
NEST 索引DataSet数据,先序列化然后转成dynamic 类型进行索引: /// <summary> /// 索引dataset /// </summary> /// ...
- mysql null 值查询问题
我在开发公司内部的一个项目时遇到一个问题:select student_quality_id from STUDENT_QUALITY where mark_status=0 and batch_st ...
- SQL null值 查询null
select * from emp;
随机推荐
- SQL两表之间:根据一个表的字段更新另一个表的字段
update table1 set field1=table2.field1,field2=table2.field2from table2where table1.id=table2.id
- Redis单机多节点集群实验
第一步:安装Redis 前面已经安装过了 不解释, Reids安装包里有个集群工具,要复制到/usr/local/bin里去 cp redis-3.2.9/src/redis-trib.rb /usr ...
- Python3学习之路~8.4 利用socket实现文件传送+MD5校验
利用socket实现文件传送,大约分为如下几步: 1.读取文件名2.检测文件是否存在3.打开文件(别忘了最后关闭文件)4.检测文件大小5.发送文件大小给客户端6.等客户端确认7.开始边读边发数据8.m ...
- linux服务器情况
查看Linux 进程命令 ps -aux 或者ps -ef linux 进程很多 如果需要查找某一个进程可以使用 管道和grep命令 Linux下常用命令 grep 匹配字符 ps 查询Li ...
- Tomcat配置技巧
1. 配置系统管理(Admin Web Application) 大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面.Tomcat按照自己的方式,同样提供一个 ...
- vs code中文扩展包
vs code 中文拓展安装失败时,可以手动下载安装,下载对版本的中文包. https://marketplace.visualstudio.com/_apis/public/gallery/publ ...
- python类与对象-如何派生内置不可变类型并修其改实例化行为
如何派生内置不可变类型并修其改实例化行为 问题举例 自定义一种新类型的元组,对传入的可迭代对象,我们只保留 其中int类型且值大于0的元素,例如 IntTuple([1, -1, 'abc', 6, ...
- https----------如何在phpstudy环境下配置apache的https访问以及访问http自动跳转成https
1.首先在 httpd.conf里面修改几个地方 找到 #LoadModule ssl_module modules/mod_ssl.so 去掉前面的# Include conf/vhosts.con ...
- CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境
持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试 开发→代 ...
- WebDriver实现网页自动化测试(以python为例说明,ruby用法类似)
什么是Webdriver? Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的 ...