https://www.yiibai.com/elasticsearch/elasticsearch-getting-start.html
# curl -XPUT "http://localhost:9200/movies/movie/1" -d'
> {
> "title": "The Godfather",
> "director": "Francis Ford Coppola",
> "year": 1972
> }'
{"_index":"movies","_type":"movie","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"created":true}
# curl -XPUT "http://localhost:9200/movies/movie/1" -d'
> {
> "title": "The Godfather",
> "director": "Francis Ford Coppola",
> "year": 1972,
> "genres": ["Crime", "Drama"]
> }'
{"_index":"movies","_type":"movie","_id":"1","_version":2,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"created":false}
# curl -XGET "http://localhost:9200/movies/movie/1"
{"_index":"movies","_type":"movie","_id":"1","_version":2,"found":true,"_source":
{
"title": "The Godfather",
"director": "Francis Ford Coppola",
"year": 1972,
"genres": ["Crime", "Drama"]
}}
# curl -XDELETE "http://localhost:9200/movies/movie/1"
{"found":true,"_index":"movies","_type":"movie","_id":"1","_version":3,"result":"deleted","_shards":{"total":2,"successful":1,"failed":0}}
- http://localhost:9200/_search - 搜索所有索引和所有类型。
- http://localhost:9200/movies/_search - 在电影索引中搜索所有类型
- http://localhost:9200/movies/movie/_search - 在电影索引中显式搜索电影类型的文档。
查询字符串查询
curl -XPOST "http://localhost:9200/_search" -d'
{
"query": {
"query_string": {
"query": "kill"
}
}
}'
curl -XPOST "http://localhost:9200/_search" -d'
{
"query": {
"query_string": {
"query": "ford",
"fields": ["title"]
}
}
}'
title这个字段的值里有单词ford
curl -XPOST "http://localhost:9200/_search" -d'
{
"query": {
"filtered": {
"query": {
"query_string": {
"query": "drama"
}
},
"filter": {
"term": { "year": 1962 }
}
}
}
}'
no [query] registered for [filtered
解决办法: 过滤查询已被弃用,并在ES 5.0中删除。现在应该使用bool / must / filter查询。
curl -XPOST "http://localhost:9200/_search" -d'
{
"query": {
"bool": {
"must": {
"multi_match": {
"fields": [
"title"
],
"query": "kill"
}
},
"filter": {
"terms": {
"year": [
1962
]
}
}
}
}
}'