Elasticsearch āĻšāϞ āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻ āĻāĻā§āĻāĻŋāύ āϝāĻžāϰ json rest api, Lucene āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻ āĻāĻžāĻāĻžāϤ⧠āϞā§āĻāĻžāĨ¤ āĻāĻ āĻāĻā§āĻāĻŋāύā§āϰ āϏāĻŽāϏā§āϤ āϏā§āĻŦāĻŋāϧāĻžāϰ āĻŦāĻŋāĻŦāϰāĻŖ āĻāĻāĻžāύ⧠āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ . āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤāĻāĻŋāϤ⧠āĻāĻŽāϰāĻž āĻāϞāĻžāϏā§āĻāĻŋāĻāϏāĻžāϰā§āĻāĻā§ ES āĻšāĻŋāϏāĻžāĻŦā§ āĻāϞā§āϞā§āĻ āĻāϰāĻŦāĨ¤
āĻĄāĻā§āĻŽā§āύā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āϏ⧠āĻāĻāĻŋāϞ āĻ āύā§āϏāύā§āϧāĻžāύā§āϰ āĻāύā§āϝ āĻ āύā§āϰā§āĻĒ āĻāĻā§āĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻžāώāĻžāϰ āϰā§āĻĒāĻŦāĻŋāĻĻā§āϝāĻž āĻŦāĻŋāĻŦā§āĻāύāĻžāϝāĻŧ āύāĻŋāϝāĻŧā§ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰā§āύ āĻŦāĻž āĻāĻŋāĻ āϏā§āĻĨāĻžāύāĻžāĻā§āĻ āĻĻā§āĻŦāĻžāϰāĻž āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰā§āύāĨ¤
āĻāĻ āύāĻŋāĻŦāύā§āϧ⧠āĻāĻŽāĻŋ āĻŦā§āϞāĻ āĻĒā§āϏā§āĻā§āϰ āϏā§āĻā§āĻāϰāĻŖā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠ES āĻāϰ āĻŽā§āϞ āĻŦāĻŋāώāϝāĻŧāĻā§āϞāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĨāĻž āĻŦāϞāĻŦāĨ¤ āĻāĻŽāĻŋ āĻāĻĒāύāĻžāĻā§ āĻĻā§āĻāĻžāĻŦ āĻāĻŋāĻāĻžāĻŦā§ āĻĢāĻŋāϞā§āĻāĻžāϰ, āĻŦāĻžāĻāĻžāĻ āĻāĻŦāĻ āύāĻĨāĻŋ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāϤ⧠āĻšāϝāĻŧāĨ¤
āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻŽāĻŋ CURL āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠ES āĻāϰ āĻāĻžāĻā§ āϏāĻŽāϏā§āϤ āĻ āύā§āϰā§āϧ āĻāϰāĻŦāĨ¤ āĻā§āĻāϞ āĻā§āϰā§āĻŽā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒā§āϞāĻžāĻāĻāύāĻ āϰāϝāĻŧā§āĻā§ āϝāĻžāĻā§ āĻŦāϞāĻž āĻšāϝāĻŧ .
āĻĒāĻžāĻ ā§āϝāĻāĻŋāϤ⧠āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻāϤā§āϏā§āϰ āϞāĻŋāĻā§āĻ āϰāϝāĻŧā§āĻā§āĨ¤ āĻļā§āώ⧠āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĻā§āϰā§āϤ āĻ ā§āϝāĻžāĻā§āϏā§āϏā§āϰ āĻāύā§āϝ āϞāĻŋāĻā§āĻ āĻāĻā§. āĻ āĻĒāϰāĻŋāĻāĻŋāϤ āĻĒāĻĻā§āϰ āϏāĻāĻā§āĻāĻž āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻŦā§ .
āĻāĻāϏ āĻāύāϏā§āĻāϞ āĻāϰāĻž āĻšāĻā§āĻā§
āĻāĻāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻĨāĻŽā§ āĻāĻžāĻāĻž āĻĻāϰāĻāĻžāϰāĨ¤ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āϰāĻž Java 8 āĻāĻĒāĻĄā§āĻ 20 āĻŦāĻž Java 7 āĻāĻĒāĻĄā§āĻ 55 āĻāϰ āĻā§āϝāĻŧā§ āύāϤā§āύ āĻāĻžāĻāĻž āϏāĻāϏā§āĻāϰāĻŖ āĻāύāϏā§āĻāϞ āĻāϰā§āύāĨ¤
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 āĻļā§ . āϝāĻĻāĻŋ āĻ
āύā§āϰā§āϧāĻāĻŋ āĻāĻāĻāĻŋ āĻĢāĻŋāϞā§āĻāĻžāϰ āĻĒā§āϰāϏāĻā§āĻā§ āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠_score āĻŽāĻžāύ āϏāϰā§āĻŦāĻĻāĻž 1 āĻāϰ āϏāĻŽāĻžāύ āĻšāĻŦā§, āϝāĻžāϰ āĻ
āϰā§āĻĨ āĻĢāĻŋāϞā§āĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻŽāĻŋāϞāĨ¤
āĻŦāĻŋāĻļā§āϞā§āώāĻ
āϏā§āϰā§āϏ āĻā§āĻā§āϏāĻāĻā§ āĻā§āĻā§āύā§āϰ āϏā§āĻā§ āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāϤ⧠āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤
āĻŦāĻŋāĻļā§āϞā§āώāĻ āĻāĻāĻāĻŋ āĻāĻ āĻŋāϤ āĻāĻŦāĻ āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻā§āĻāĻŋāĻ . āĻā§āĻā§āύāĻžāĻāĻāĻžāϰā§āϰ āĻāĻā§ āĻŦā§āĻļ āĻāĻŋāĻā§ āĻšāϤ⧠āĻĒāĻžāϰ⧠. āĻā§āĻā§āύāĻžāĻāĻāĻžāϰāϰāĻž āϏā§āϰā§āϏ āϏā§āĻā§āϰāĻŋāĻāĻā§ āĻā§āĻā§āύ⧠āĻŦāĻŋāĻāĻā§āϤ āĻāϰā§, āϝā§āĻŽāύ āϏā§āĻĒā§āϏ āĻāĻŦāĻ āĻŦāĻŋāϰāĻžāĻŽāĻāĻŋāĻšā§āύ āĻ
āĻā§āώāϰāĨ¤ āĻā§āĻā§āύāĻĢāĻŋāϞā§āĻāĻžāϰ āĻā§āĻā§āύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āĻŽā§āĻā§ āĻĢā§āϞāϤ⧠āĻŦāĻž āύāϤā§āύ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻļāĻŦā§āĻĻā§āϰ āĻāĻžāύā§āĻĄ āĻā§āĻĄāĻŧā§, āĻ
āĻŦā§āϝāϝāĻŧ āĻ
āĻĒāϏāĻžāϰāĻŖ, āĻĒā§āϰāϤāĻŋāĻļāĻŦā§āĻĻ āϝā§āĻ āĻāϰā§āύāĨ¤ CharFilter - āĻĒā§āϰ⧠āϏā§āϰā§āϏ āϏā§āĻā§āϰāĻŋāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, html āĻā§āϝāĻžāĻ āĻā§āĻā§ āĻĻā§āϝāĻŧāĨ¤
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
āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻ āϧāϰāύā§āϰ āĻĒā§āϰāĻŦāύā§āϧ-āĻĒāĻžāĻ ā§āϰ āĻĒā§āϰāϤāĻŋ āĻāĻā§āϰāĻš āĻĨāĻžāĻā§, āύāϤā§āύ āĻĒā§āϰāĻŦāύā§āϧā§āϰ āĻāύā§āϝ āϧāĻžāϰāĻŖāĻž āĻĨāĻžāĻā§ āĻŦāĻž āϏāĻšāϝā§āĻāĻŋāϤāĻžāϰ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āĻĨāĻžāĻā§, āϤāĻžāĻšāϞ⧠āĻāĻŽāĻŋ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āĻŦāĻžāϰā§āϤāĻžāϝāĻŧ āĻ āĻĨāĻŦāĻž m.kuzmin+habr@darkleaf.ru āĻāĻŽā§āϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻž āĻĒā§āϝāĻŧā§ āĻā§āĻļāĻŋ āĻšāĻŦāĨ¤
āĻāϤā§āϏ: www.habr.com
