Elasticsearch āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻ āĻāĻā§āĻāĻŋāĻ¨ āĻ¯āĻžāĻ° json rest api, Lucene āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻžāĻāĻžāĻ¤ā§ āĻ˛ā§āĻāĻžāĨ¤ āĻāĻ āĻāĻā§āĻāĻŋāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻĄāĻā§āĻŽā§āĻ¨ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻāĻŋāĻ˛ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻā§āĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻžāĻˇāĻžāĻ° āĻ°ā§āĻĒāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻŦāĻŋāĻŦā§āĻāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻŦāĻž āĻāĻŋāĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻŽāĻŋ āĻŦā§āĻ˛āĻ āĻĒā§āĻ¸ā§āĻā§āĻ° āĻ¸ā§āĻā§āĻāĻ°āĻŖā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ES āĻāĻ° āĻŽā§āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤ āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻŦ āĻāĻŋāĻāĻžāĻŦā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°, āĻŦāĻžāĻāĻžāĻ āĻāĻŦāĻ āĻ¨āĻĨāĻŋ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤
āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻŋ CURL āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ES āĻāĻ° āĻāĻžāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°āĻŦāĨ¤ āĻā§āĻāĻ˛ āĻā§āĻ°ā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻĒāĻžāĻ ā§āĻ¯āĻāĻŋāĻ¤ā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻ¤ā§āĻ¸ā§āĻ° āĻ˛āĻŋāĻā§āĻ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻļā§āĻˇā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĻā§āĻ°ā§āĻ¤ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻā§āĻ āĻāĻā§. āĻ
āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻĒāĻĻā§āĻ° āĻ¸āĻāĻā§āĻāĻž āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻāĻāĻ¸ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻžāĻāĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž
ES āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ bin/elasticsearch
. āĻāĻāĻžāĻ āĻāĻā§
āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻŦāĻ āĻ˛āĻā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
# Đ´ĐģŅ ŅдОйŅŅва СаĐŋĐžĐŧĐŊиĐŧ Đ°Đ´ŅĐĩŅ в ĐŋĐĩŅĐĩĐŧĐĩĐŊĐŊŅŅ
#export ES_URL=$(docker-machine ip dev):9200
export ES_URL=localhost:9200
curl -X GET $ES_URL
āĻāĻŽāĻ°āĻž āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻĒāĻžāĻŦā§āĻ¨:
{
"name" : "Heimdall",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.2.1",
"build_hash" : "d045fc29d1932bce18b2e65ab8b297fbf6cd41a1",
"build_timestamp" : "2016-03-09T09:38:54Z",
"build_snapshot" : false,
"lucene_version" : "5.4.1"
},
"tagline" : "You Know, for Search"
}
āĻāĻ¨ā§āĻĄā§āĻā§āĻ¸
ES āĻ āĻāĻāĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ:
# ĐОйавиĐŧ Đ´ĐžĐēŅĐŧĐĩĐŊŅ c id 1 ŅиĐŋĐ° post в иĐŊĐ´ĐĩĐēŅ blog.
# ?pretty ŅĐēаСŅваĐĩŅ, ŅŅĐž вŅвОд Đ´ĐžĐģĐļĐĩĐŊ ĐąŅŅŅ ŅĐĩĐģОвĐĩĐēĐž-ŅиŅĐ°ĐĩĐŧŅĐŧ.
curl -XPUT "$ES_URL/blog/post/1?pretty" -d'
{
"title": "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°",
"content": "<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐēĐžŅŅŅ<p>",
"tags": [
"ĐēĐžŅŅŅĐ°",
"ŅĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ"
],
"published_at": "2014-09-12T20:44:42+00:00"
}'
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž:
{
"_index" : "blog",
"_type" : "post",
"_id" : "1",
"_version" : 1,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : false
}
ES āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ
# ĐĐžĐģŅŅиĐŧ mapping вŅĐĩŅ
ŅиĐŋОв иĐŊĐ´ĐĩĐēŅĐ° blog
curl -XGET "$ES_URL/blog/_mapping?pretty"
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¤ā§, āĻāĻŽāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻ¨āĻĨāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻāĻŋ:
{
"blog" : {
"mappings" : {
"post" : {
"properties" : {
/* "content": "<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐēĐžŅŅŅ<p>", */
"content" : {
"type" : "string"
},
/* "published_at": "2014-09-12T20:44:42+00:00" */
"published_at" : {
"type" : "date",
"format" : "strict_date_optional_time||epoch_millis"
},
/* "tags": ["ĐēĐžŅŅŅĐ°", "ŅĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ"] */
"tags" : {
"type" : "string"
},
/* "title": "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°" */
"title" : {
"type" : "string"
}
}
}
}
}
}
āĻāĻāĻŋ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¯ā§ ES āĻāĻāĻāĻŋ āĻāĻāĻ āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋāĻ¤ā§ āĻā§āĻŦāĻ˛ āĻāĻāĻāĻŋ āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋāĻ¤ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻĻāĻŋāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻāĻ¯āĻŧā§ āĻāĻāĻāĻāĻžāĻŦā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
āĻ āĻ¨ā§āĻ°ā§āĻ§
āĻ¤āĻžāĻ° āĻāĻāĻĄāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻ¨āĻĨāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻž:
# иСвĐģĐĩŅĐĩĐŧ Đ´ĐžĐēŅĐŧĐĩĐŊŅ Ņ id 1 ŅиĐŋĐ° post иС иĐŊĐ´ĐĩĐēŅĐ° blog
curl -XGET "$ES_URL/blog/post/1?pretty"
{
"_index" : "blog",
"_type" : "post",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"title" : "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°",
"content" : "<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐēĐžŅŅŅ<p>",
"tags" : [ "ĐēĐžŅŅŅĐ°", "ŅĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ" ],
"published_at" : "2014-09-12T20:44:42+00:00"
}
}
āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛: _version
и _source
. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ _
āĻ
āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻļā§āĻ°ā§āĻŖā§āĻŦāĻĻā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻžāĻŦāĻŋ _version
āĻ¨āĻĨāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻāĻļāĻžāĻŦāĻžāĻĻā§ āĻ˛āĻāĻŋāĻ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¨āĻĨāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¯āĻžāĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 1 āĻāĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ¨āĻĨāĻŋāĻāĻŋ āĻāĻŽāĻž āĻĻāĻŋāĻ āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 1 āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¨āĻĨāĻŋāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻžāĨ¤ āĻ
āĻ¨ā§āĻ¯ āĻā§āĻ āĻ¯āĻĻāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 1 āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¨āĻĨāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻŽāĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻŽāĻž āĻĻā§āĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ ES āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 2 āĻ¸āĻš āĻ¨āĻĨāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤
āĻāĻžāĻŦāĻŋ _source
āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻŋāĻŦāĻĻā§āĻ§ āĻ¨āĻĨāĻŋ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§. ES āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ¨ā§āĻ¯ āĻāĻ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻž āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻā§ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻ¸ā§āĻĨāĻžāĻ¨ āĻŦāĻžāĻāĻāĻžāĻ¤ā§, ES āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻā§āĻ¸ āĻ¨āĻĨāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻĄāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, āĻĒā§āĻ°ā§ āĻā§āĻ¸ āĻ¨āĻĨāĻŋāĻ° āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¸ āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° _source āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
curl -XGET "$ES_URL/blog/post/1/_source?pretty"
{
"title" : "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°",
"content" : "<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐēĐžŅŅŅ<p>",
"tags" : [ "ĐēĐžŅŅŅĐ°", "ŅĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ" ],
"published_at" : "2014-09-12T20:44:42+00:00"
}
āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
# иСвĐģĐĩŅĐĩĐŧ ŅĐžĐģŅĐēĐž ĐŋĐžĐģĐĩ title
curl -XGET "$ES_URL/blog/post/1?_source=title&pretty"
{
"_index" : "blog",
"_type" : "post",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"title" : "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°"
}
}
āĻāĻ¸ā§āĻ¨ āĻāĻ°āĻ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻ¸ā§āĻā§ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻāĨ¤
curl -XPUT "$ES_URL/blog/post/2" -d'
{
"title": "ĐĐĩŅĐĩĐģŅĐĩ ŅĐĩĐŊĐēи",
"content": "<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ŅĐĩĐŊĐēОв<p>",
"tags": [
"ŅĐĩĐŊĐēи",
"ŅĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ"
],
"published_at": "2014-08-12T20:44:42+00:00"
}'
curl -XPUT "$ES_URL/blog/post/3" -d'
{
"title": "ĐĐ°Đē Ņ ĐŧĐĩĐŊŅ ĐŋĐžŅвиĐģŅŅ ĐēĐžŅĐĩĐŊĐžĐē",
"content": "<p>ĐŅŅĐĩŅаСдиŅĐ°ŅŅĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐąĐĩĐ´ĐŊĐžĐŗĐž ĐēĐžŅĐĩĐŊĐēĐ° Ņ ŅĐģиŅŅ<p>",
"tags": [
"ĐēĐžŅŅŅĐ°"
],
"published_at": "2014-07-21T20:44:42+00:00"
}'
āĻŦāĻžāĻāĻžāĻ
# ĐŊаКдĐĩĐŧ ĐŋĐžŅĐģĐĩĐ´ĐŊиК ĐŋĐžŅŅ ĐŋĐž Đ´Đ°ŅĐĩ ĐŋŅĐąĐģиĐēĐ°Ņии и иСвĐģĐĩŅĐĩĐŧ ĐŋĐžĐģŅ title и published_at
curl -XGET "$ES_URL/blog/post/_search?pretty" -d'
{
"size": 1,
"_source": ["title", "published_at"],
"sort": [{"published_at": "desc"}]
}'
{
"took" : 8,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 3,
"max_score" : null,
"hits" : [ {
"_index" : "blog",
"_type" : "post",
"_id" : "1",
"_score" : null,
"_source" : {
"title" : "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°",
"published_at" : "2014-09-12T20:44:42+00:00"
},
"sort" : [ 1410554682000 ]
} ]
}
}
āĻāĻŽāĻ°āĻž āĻļā§āĻˇ āĻĒā§āĻ¸ā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨. size
āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž āĻ¨āĻĨāĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĨ¤ total
āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¨āĻĨāĻŋāĻ° āĻŽā§āĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ sort
āĻāĻāĻāĻĒā§āĻā§ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻžāĻāĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§āĻā§āĻ˛ā§. āĻ¤āĻžāĻ°āĻŋāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§. āĻŦāĻžāĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻŦāĻ āĻĒā§āĻ°āĻļā§āĻ¨
ES āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 2 āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻŦāĻ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻ°ā§ āĻ¨āĻž, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§
āĻāĻāĻāĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻˇāĻžāĻĒāĻ āĻāĻāĻāĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻĨā§āĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻ¯ā§ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋ āĻāĻāĻāĻŋ _score āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻļā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻŽāĻŋ āĻĒāĻ°ā§ āĻĻā§āĻāĻžāĻŦ _āĻ¸ā§āĻā§āĻ° āĻā§āĨ¤
āĻ¤āĻžāĻ°āĻŋāĻ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨
āĻāĻŽāĻ°āĻž āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
# ĐŋĐžĐģŅŅиĐŧ ĐŋĐžŅŅŅ, ĐžĐŋŅĐąĐģиĐēОваĐŊĐŊŅĐĩ 1ĐžĐŗĐž ŅĐĩĐŊŅŅĐąŅŅ иĐģи ĐŋОСĐļĐĩ
curl -XGET "$ES_URL/blog/post/_search?pretty" -d'
{
"filter": {
"range": {
"published_at": { "gte": "2014-09-01" }
}
}
}'
āĻā§āĻ¯āĻžāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
# ĐŊаКдĐĩĐŧ вŅĐĩ Đ´ĐžĐēŅĐŧĐĩĐŊŅŅ, в ĐŋĐžĐģĐĩ tags ĐēĐžŅĐžŅŅŅ
ĐĩŅŅŅ ŅĐģĐĩĐŧĐĩĐŊŅ 'ĐēĐžŅŅŅĐ°'
curl -XGET "$ES_URL/blog/post/_search?pretty" -d'
{
"_source": [
"title",
"tags"
],
"filter": {
"term": {
"tags": "ĐēĐžŅŅŅĐ°"
}
}
}'
{
"took" : 9,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [ {
"_index" : "blog",
"_type" : "post",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"title" : "ĐĐĩŅĐĩĐģŅĐĩ ĐēĐžŅŅŅĐ°",
"tags" : [ "ĐēĐžŅŅŅĐ°", "ŅĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ" ]
}
}, {
"_index" : "blog",
"_type" : "post",
"_id" : "3",
"_score" : 1.0,
"_source" : {
"title" : "ĐĐ°Đē Ņ ĐŧĐĩĐŊŅ ĐŋĐžŅвиĐģŅŅ ĐēĐžŅĐĩĐŊĐžĐē",
"tags" : [ "ĐēĐžŅŅŅĐ°" ]
}
} ]
}
}
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒāĻžāĻ ā§āĻ¯ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¨āĻĨāĻŋāĻ¤ā§ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§āĻā§:
<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐēĐžŅŅŅ<p>
<p>ĐĄĐŧĐĩŅĐŊĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ŅĐĩĐŊĐēОв<p>
<p>ĐŅŅĐĩŅаСдиŅĐ°ŅŅĐ°Ņ иŅŅĐžŅиŅ ĐŋŅĐž ĐąĐĩĐ´ĐŊĐžĐŗĐž ĐēĐžŅĐĩĐŊĐēĐ° Ņ ŅĐģиŅŅ<p>
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
# source: false ОСĐŊĐ°ŅĐ°ĐĩŅ, ŅŅĐž ĐŊĐĩ ĐŊŅĐļĐŊĐž иСвĐģĐĩĐēĐ°ŅŅ _source ĐŊаКдĐĩĐŊĐŊŅŅ
Đ´ĐžĐēŅĐŧĐĩĐŊŅОв
curl -XGET "$ES_URL/blog/post/_search?pretty" -d'
{
"_source": false,
"query": {
"match": {
"content": "иŅŅĐžŅиŅ"
}
}
}'
{
"took" : 13,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 3,
"max_score" : 0.11506981,
"hits" : [ {
"_index" : "blog",
"_type" : "post",
"_id" : "2",
"_score" : 0.11506981
}, {
"_index" : "blog",
"_type" : "post",
"_id" : "1",
"_score" : 0.11506981
}, {
"_index" : "blog",
"_type" : "post",
"_id" : "3",
"_score" : 0.095891505
} ]
}
}
āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ "āĻāĻ˛ā§āĻĒ" āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻŦ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§āĻ˛ āĻļāĻŦā§āĻĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ¨ā§āĻĄ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻāĻŋ āĻāĻā§āĻ-āĻŽāĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻā§āĻˇā§āĻ¤ā§āĻ° _score
āĻļā§
āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ
āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻāĻāĻāĻŋ āĻāĻ āĻŋāĻ¤
ES āĻāĻ° āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻā§
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻ
# иŅĐŋĐžĐģŅСŅĐĩĐŧ Đ°ĐŊĐ°ĐģиСаŅĐžŅ standard
# ОйŅСаŅĐĩĐģŅĐŊĐž ĐŊŅĐļĐŊĐž ĐŋĐĩŅĐĩĐēОдиŅОваŅŅ ĐŊĐĩ ASCII ŅиĐŧвОĐģŅ
curl -XGET "$ES_URL/_analyze?pretty&analyzer=standard&text=%D0%92%D0%B5%D1%81%D0%B5%D0%BB%D1%8B%D0%B5%20%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8%20%D0%BF%D1%80%D0%BE%20%D0%BA%D0%BE%D1%82%D1%8F%D1%82"
{
"tokens" : [ {
"token" : "вĐĩŅĐĩĐģŅĐĩ",
"start_offset" : 0,
"end_offset" : 7,
"type" : "<ALPHANUM>",
"position" : 0
}, {
"token" : "иŅŅĐžŅии",
"start_offset" : 8,
"end_offset" : 15,
"type" : "<ALPHANUM>",
"position" : 1
}, {
"token" : "ĐŋŅĐž",
"start_offset" : 16,
"end_offset" : 19,
"type" : "<ALPHANUM>",
"position" : 2
}, {
"token" : "ĐēĐžŅŅŅ",
"start_offset" : 20,
"end_offset" : 25,
"type" : "<ALPHANUM>",
"position" : 3
} ]
}
# иŅĐŋĐžĐģŅСŅĐĩĐŧ Đ°ĐŊĐ°ĐģиСаŅĐžŅ russian
curl -XGET "$ES_URL/_analyze?pretty&analyzer=russian&text=%D0%92%D0%B5%D1%81%D0%B5%D0%BB%D1%8B%D0%B5%20%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8%20%D0%BF%D1%80%D0%BE%20%D0%BA%D0%BE%D1%82%D1%8F%D1%82"
{
"tokens" : [ {
"token" : "вĐĩŅĐĩĐģ",
"start_offset" : 0,
"end_offset" : 7,
"type" : "<ALPHANUM>",
"position" : 0
}, {
"token" : "иŅŅĐžŅ",
"start_offset" : 8,
"end_offset" : 15,
"type" : "<ALPHANUM>",
"position" : 1
}, {
"token" : "ĐēĐžŅ",
"start_offset" : 20,
"end_offset" : 25,
"type" : "<ALPHANUM>",
"position" : 3
} ]
}
āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋāĻā§ āĻ¸ā§āĻĒā§āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§āĻā§ āĻā§āĻ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ°ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻšā§āĻ¨ āĻļāĻŦā§āĻĻāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧ, āĻāĻāĻŋāĻā§ āĻā§āĻ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ°ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻļāĻŦā§āĻĻā§āĻ° āĻ¸ā§āĻā§āĻŽāĻāĻŋ āĻ°ā§āĻā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻ¸ā§āĻ¨ āĻĻā§āĻāĻŋ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻā§āĻ¨ āĻā§āĻā§āĻ¨āĻžāĻāĻāĻžāĻ°, āĻā§āĻā§āĻ¨āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°, āĻāĻžāĻ°āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§:
{
"filter": {
"russian_stop": {
"type": "stop",
"stopwords": "_russian_"
},
"russian_keywords": {
"type": "keyword_marker",
"keywords": []
},
"russian_stemmer": {
"type": "stemmer",
"language": "russian"
}
},
"analyzer": {
"russian": {
"tokenizer": "standard",
/* TokenFilters */
"filter": [
"lowercase",
"russian_stop",
"russian_keywords",
"russian_stemmer"
]
/* CharFilters ĐžŅŅŅŅŅŅвŅŅŅ */
}
}
}
āĻāĻ¸ā§āĻ¨ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻŋ, āĻ¯āĻž āĻāĻāĻāĻāĻŋāĻāĻŽāĻāĻ˛ āĻā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋ āĻā§āĻā§ āĻĢā§āĻ˛āĻŦā§āĨ¤ āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ, āĻāĻžāĻ°āĻŖ āĻāĻ āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
{
"filter": {
"ru_stop": {
"type": "stop",
"stopwords": "_russian_"
},
"ru_stemmer": {
"type": "stemmer",
"language": "russian"
}
},
"analyzer": {
"default": {
/* дОйавĐģŅĐĩĐŧ ŅĐ´Đ°ĐģĐĩĐŊиĐĩ html ŅĐĩĐŗОв */
"char_filter": ["html_strip"],
"tokenizer": "standard",
"filter": [
"lowercase",
"ru_stop",
"ru_stemmer"
]
}
}
}
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¸ā§āĻ°ā§āĻ¸ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ HTML āĻā§āĻ¯āĻžāĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻŦā§, āĻ¤āĻžāĻ°āĻĒāĻ° āĻā§āĻā§āĻ¨āĻžāĻāĻāĻžāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻāĻŋāĻā§ āĻā§āĻā§āĻ¨ā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻŦā§, āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ°ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§, āĻ¤ā§āĻā§āĻ āĻļāĻŦā§āĻĻāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻļāĻŦā§āĻĻā§āĻ° āĻ¸ā§āĻā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĨāĻžāĻāĻŦā§ā§ˇ
āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ¸ā§āĻā§ āĻā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋāĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻžāĻ°āĻŖ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻšā§āĻŦāĻšā§ āĻŽāĻŋāĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻāĻāĻāĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¯āĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ā§ˇ
āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻāĻŦāĻ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻŦā§āĻ˛āĻ 2 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻ¯āĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
curl -XPOST "$ES_URL/blog2" -d'
{
"settings": {
"analysis": {
"filter": {
"ru_stop": {
"type": "stop",
"stopwords": "_russian_"
},
"ru_stemmer": {
"type": "stemmer",
"language": "russian"
}
},
"analyzer": {
"default": {
"char_filter": [
"html_strip"
],
"tokenizer": "standard",
"filter": [
"lowercase",
"ru_stop",
"ru_stemmer"
]
}
}
}
},
"mappings": {
"post": {
"properties": {
"content": {
"type": "string"
},
"published_at": {
"type": "date"
},
"tags": {
"type": "string",
"index": "not_analyzed"
},
"title": {
"type": "string"
}
}
}
}
}'
āĻāĻ¸ā§āĻ¨ āĻāĻ āĻ¸ā§āĻāĻā§ āĻāĻāĻ 3 āĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻŋ (āĻŦā§āĻ˛āĻ2)āĨ¤ āĻāĻŽāĻŋ āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻŦ āĻāĻžāĻ°āĻŖ... āĻāĻāĻŋ āĻŦā§āĻ˛āĻ āĻ¸ā§āĻā§āĻ¤ā§ āĻ¨āĻĨāĻŋ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒāĨ¤
āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒāĻžāĻ ā§āĻ¯ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨
āĻāĻ¸ā§āĻ¨ āĻ āĻ¨ā§āĻ¯ āĻ§āĻ°āĻŖā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻāĻŦāĻžāĻ° āĻĻā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ:
# ĐŊаКдĐĩĐŧ Đ´ĐžĐēŅĐŧĐĩĐŊŅŅ, в ĐēĐžŅĐžŅŅŅ
вŅŅŅĐĩŅĐ°ĐĩŅŅŅ ŅĐģОвО 'иŅŅĐžŅии'
# query -> simple_query_string -> query ŅОдĐĩŅĐļиŅ ĐŋОиŅĐēОвŅĐš СаĐŋŅĐžŅ
# ĐŋĐžĐģĐĩ title иĐŧĐĩĐĩŅ ĐŋŅиОŅиŅĐĩŅ 3
# ĐŋĐžĐģĐĩ tags иĐŧĐĩĐĩŅ ĐŋŅиОŅиŅĐĩŅ 2
# ĐŋĐžĐģĐĩ content иĐŧĐĩĐĩŅ ĐŋŅиОŅиŅĐĩŅ 1
# ĐŋŅиОŅиŅĐĩŅ иŅĐŋĐžĐģŅСŅĐĩŅŅŅ ĐŋŅи ŅĐ°ĐŊĐļиŅОваĐŊии ŅĐĩСŅĐģŅŅĐ°ŅОв
curl -XPOST "$ES_URL/blog2/post/_search?pretty" -d'
{
"query": {
"simple_query_string": {
"query": "иŅŅĐžŅии",
"fields": [
"title^3",
"tags^2",
"content"
]
}
}
}'
āĻāĻžāĻ°āĻŖ āĻāĻŽāĻ°āĻž āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ¸ā§āĻā§āĻŽāĻŋāĻ āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻĨāĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻŦā§, āĻ¯āĻĻāĻŋāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 'āĻāĻ¤āĻŋāĻšāĻžāĻ¸' āĻļāĻŦā§āĻĻāĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻŦāĻŋāĻļā§āĻˇ āĻ āĻā§āĻˇāĻ° āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
""fried eggs" +(eggplant | potato) -frittata"
āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸:
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
~N after a word signifies edit distance (fuzziness)
~N after a phrase signifies slop amount
# ĐŊаКдĐĩĐŧ Đ´ĐžĐēŅĐŧĐĩĐŊŅŅ ĐąĐĩС ŅĐģОва 'ŅĐĩĐŊĐēи'
curl -XPOST "$ES_URL/blog2/post/_search?pretty" -d'
{
"query": {
"simple_query_string": {
"query": "-ŅĐĩĐŊĐēи",
"fields": [
"title^3",
"tags^2",
"content"
]
}
}
}'
# ĐŋĐžĐģŅŅиĐŧ 2 ĐŋĐžŅŅĐ° ĐŋŅĐž ĐēĐžŅиĐēОв
āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸
āĻāĻ˛āĻžāĻ¸āĻāĻŋāĻ.āĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻžāĻāĻĄ āĻļāĻŦā§āĻĻāĻā§āĻˇ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¨āĻĨāĻŋāĻ° āĻšā§āĻ°āĻĢā§āĻ° āĻ¸ā§āĻāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž
PS
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§-āĻĒāĻžāĻ ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¨, āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ§āĻžāĻ°āĻŖāĻž āĻ°āĻžāĻā§āĻ¨ āĻŦāĻž āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ°āĻžāĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ¯āĻŧ āĻŦāĻž āĻāĻŽā§āĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ¯āĻŧā§ āĻā§āĻļāĻŋ āĻšāĻŦ [āĻāĻŽā§āĻ˛ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤].
āĻāĻ¤ā§āĻ¸: www.habr.com