网站建设项目的生命周期,网络营销师有前途吗,杭州认证网站建设,社交系统开发目录 1:查询总数2:查询所有数据3:查询指定条数4:根据ID查询5:一个查询字符串搜索6:match搜索7:term搜索8:bool搜索9:must多条件匹配查询10:Should满足一个条件查询11: must_not必须不匹配查询12:多个字段查询内容13:一个字段查询多个内容14:通配符和正则匹配15:前缀查询16:短语… 目录 1:查询总数2:查询所有数据3:查询指定条数4:根据ID查询5:一个查询字符串搜索6:match搜索7:term搜索8:bool搜索9:must多条件匹配查询10:Should满足一个条件查询11: must_not必须不匹配查询12:多个字段查询内容13:一个字段查询多个内容14:通配符和正则匹配15:前缀查询16:短语匹配17:范围查询18:字段存在查询 1:查询总数
GET demo_person/_count
{ query: {match_all: {}}
}上述用sql表示
SELECT COUNT(*) FROM demo_person2:查询所有数据
GET demo_person/_search
{ query: {match_all: {}}
}上述用sql表示
SELECT * FROM demo_person3:查询指定条数
GET demo_person/_search
{ size: 20, query: {match_all: {}}
}上述用sql表示
SELECT * FROM demo_person LIMIT 204:根据ID查询
GET /demo_person/_doc/1?pretty上述用sql表示
SELECT * FROM demo_person WHERE _id 15:一个查询字符串搜索
GET /demo_person/_search?qlast_name:Smith
上述用sql表示
SELECT * FROM demo_person WHERE last_name Smith
6:match搜索
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 字段包含 “Smith” 的文档, 特点先分词再拿词去匹配倒排索引
GET /demo_person/_search
{query : {match : {last_name : Smith}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name Smith7:term搜索
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 字段精确匹配值为 “Smith” 的文档。term不分词直接匹配词条
GET /demo_person/_search
{query: {term: {last_name: {value: Smith}}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name Smith8:bool搜索
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 字段包含 “Smith” 且 age 大于等于 30 的文档。 must: 完全匹配条件 相当于sql中的and should 至少满足一个条件 相当于sql中的 or must_not: 文档必须不匹配条件 相当于sql中的!
GET /demo_person/_search
{query: {bool: {must: [{match: {last_name: Smith}}],filter: [{range: {age: {gte: 30}}}]}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name Smith AND age 309:must多条件匹配查询
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 字段包含 “Smith” 且 age 等于 32 的文档。
GET /demo_person/_search
{query: {bool: {must: [{match: {last_name: Smith}},{match: {age: 32}}]}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name Smith AND age 3210:Should满足一个条件查询
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 字段包含 “Fir” 或 age 等于 32 的文档。
GET /demo_person/_search
{query: {bool: {should: [{match: {last_name: Fir}},{match: {age: 32}}]}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name Fir OR age 3211: must_not必须不匹配查询
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 字段不包含 “Fir” 且 age 不等于 32 的文档
GET /demo_person/_search
{query: {bool: {must_not: [{match: {last_name: Fir}},{match: {age: 32}}]}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name ! Fir AND age ! 3212:多个字段查询内容
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 last_name 和 about 字段包含 “collect” 或 “rock” 的文档。
GET /demo_person/_search
{query: {multi_match: {query: collect rock,fields: [last_name,about]}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name LIKE %collect% OR about LIKE %collect% OR last_name LIKE %rock% OR about LIKE %rock%13:一个字段查询多个内容
GET /demo_person/_search
{query: {terms: {about: [rock,hehe ]}}
}上述用sql表示
SELECT * FROM demo_person WHERE about IN (rock, hehe)14:通配符和正则匹配
GET /demo_person/_search
{query: {bool: {filter: [{wildcard:{last_name:*mi*}}]}}
}上述用sql表示
SELECT * FROM demo_person WHERE last_name LIKE %mi%15:前缀查询
GET /demo_person/_search
{query: {prefix: {last_name: {value: Smi}}}
}
上述用sql表示
SELECT * FROM demo_person WHERE last_name LIKE Smi%16:短语匹配
这是一个 Elasticsearch 查询语句用于在索引为 demo_person 中查询 about 字段包含短语 “rock climbing” 的文档。
GET /demo_person/_search
{query : {match_phrase : {about : rock climbing}}
}上述用sql表示
SELECT * FROM demo_person WHERE about LIKE %rock climbing%17:范围查询
GET demo_person/_search
{ query: {range: {age: {gte: 30,lt: 35}}}
}上述用sql表示
SELECT * FROM demo_person WHERE age 30 AND age 3518:字段存在查询
GET /demo_person/_search
{query: {exists: {field: age}}
}上述用sql表示
SELECT * FROM demo_person WHERE age IS NOT NULL