logstash -f …/mysqletc/mysql-project.conf
es是java开发的,要求jdk1.8以上
eshm是nodejs开发的,要求运行环境是node(chrom的V8引擎)
postman是一个发送http请求的抓包工具
ik是中文分词器,在es的plugs文件夹下面
logstash是java开发的
模板:
{
"mappings": {
"article": {//表
"properties": {//列
"id": {
"type": "long",
"store": true//是否存储(是否在搜索结果显示)
},
"title": {
"type": "text",
"store": true,
"index": "true", //是否索引,默认false(该域是否可以被搜索)
"analyzer": "standard"
},
"content": {
"type": "text",
"store": true,
"index": "analyzed",
"analyzer": "standard"//是否分词(搜索的时候是整体匹配还是分词匹配)
}
}
}
}
}
删除需要根据_id,当然es主要为了查询效率提高
查询模板(标准分词器只支持一个汉字)
模板
http://127.0.0.1:9200/blog1/hello/_search
(关键词查询只能一个汉字)
{
"query": {
"term": {
"content": "都"
}
}
}
(分词查询)
{
"query": {
"query_string": {
"default_field": "content",
"query": "都帅"
}
}
}
分页查询模板post
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "title",
"query": "火箭一龙"
}
}
],
"must_not": [ ],
"should": [ ]
}
},
"from": 0,
"size": 10,
"sort": [ ],
"aggs": { }
}
分页/排序/聚合/范围(>|<)/与或非/模板 (注释版)
post:http://localhost:9200/blog/hello/_search/?scroll=1m _search是向es服务器发送的匹配controller的关键字,scroll不用刻意删除用于数据量较大
{
"size": 1000,**一次从scrollId快照中取多少条数据,不用删除**
"query": { **查询关键字**
"bool": { **声明与或非**
"must": [ **与and**
{
"range": {
"id": {
"gte": "1",
"lte": 3
}
}
}
],
"must_not": [ ], **非!**
"should": [ **或or**
{
"query_string": { **用field指定的分词器分词查询**
"default_field": "title", **查询字段**
"query": "火箭一龙" **分词text**
}
},
{
"query_string": {
"default_field": "content",
"query": "人们虎扑"
}
},
{
"terms": { **手动指定多个关键字**
"name": [
"john",
"da"
]
}
},
{
"term": { **手动指定单个关键字**
"name": "john"
}
}
]
}
},
"from": 0, **分页查询start**
"size": 5, **分页查询size**
"sort": [
{
"id": {
"order": "desc"
}
}
],
"aggs": { **声明使用聚合函数关键字**
"maxid": { **指定聚合生成数据变量名,随意取**
"max": { **聚合函数**
"field": "id" **指定列**
}
}
}
}
(纯净版)
{
"query": {
"bool": {
"must": [
{
"range": {
"id": {
"gte": "1",
"lte": 3
}
}
}
],
"must_not": [ ],
"should": [
{
"query_string": {
"default_field": "title",
"query": "火箭一龙"
}
},
{
"query_string": {
"default_field": "content",
"query": "人们虎扑"
}
},
{
"terms": {
"name": [
"john",
"da"
]
}
},
{
"term": {
"name": "john"
}
}
]
}
},
"from": 0,
"size": 5,
"sort": [
{
"id": {
"order": "desc"
}
}
],
"aggs": {
"maxid": {
"max": {
"field": "id"
}
}
}
}