ΠΠ»Π°ΡΡΠΈΡΡΠ΅Π°ΡΡΡ ΡΠ΅ ΠΏΡΠ΅ΡΡΠ°ΠΆΠΈΠ²Π°Ρ ΡΠ° ΡΡΠΎΠ½ ΡΠ΅ΡΡ Π°ΠΏΠΈ, ΠΊΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΠΡΡΠ΅Π½Π΅ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΠΠ°Π²ΠΈ. ΠΠΏΠΈΡ ΡΠ²ΠΈΡ ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΎΠ²ΠΎΠ³ ΠΌΠΎΡΠΎΡΠ° Π΄ΠΎΡΡΡΠΏΠ°Π½ ΡΠ΅ Π½Π° . Π£ Π΄Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡ ΡΠ΅ΠΌΠΎ ΠΠ»Π°ΡΡΠΈΡΡΠ΅Π°ΡΡΡ Π½Π°Π·ΠΈΠ²Π°ΡΠΈ ΠΠ‘.
Π‘Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΡΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Π·Π° ΡΠ»ΠΎΠΆΠ΅Π½Π° ΠΏΡΠ΅ΡΡΠ°ΠΆΠΈΠ²Π°ΡΠ° Ρ Π±Π°Π·ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Π°ΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΡΡΠ°ΠΆΠΈΠ²Π°ΡΠ΅ ΡΠ·ΠΈΠΌΠ°ΡΡΡΠΈ Ρ ΠΎΠ±Π·ΠΈΡ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΡΡ ΡΠ΅Π·ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΡΠ°Π³Ρ ΠΏΠΎ Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΈΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠ°.
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»Π°Π½ΠΊΡ ΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡΠΈ ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠ° ΠΠ‘-Π° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°ΡΠ° Π±Π»ΠΎΠ³ ΠΏΠΎΡΡΠΎΠ²Π°. ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅, ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠ΅ΡΡΠ°ΠΆΡΡΠ΅ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅.
ΠΠ° Π½Π΅ Π±ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΎ ΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ²Π΅ Π·Π°Ρ ΡΠ΅Π²Π΅ ΡΡ ΡΠΏΡΡΠΈΡΠΈ ΠΠ‘-Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ Π¦Π£Π Π. ΠΠΎΡΡΠΎΡΠΈ ΠΈ Π΄ΠΎΠ΄Π°ΡΠ°ΠΊ Π·Π° ΠΠΎΠΎΠ³Π»Π΅ Π¦Ρ ΡΠΎΠΌΠ΅ ΡΠ·Π² .
Π’Π΅ΠΊΡΡ ΡΠ°Π΄ΡΠΆΠΈ Π²Π΅Π·Π΅ ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠ·Π²ΠΎΡΠΈΠΌΠ°. ΠΠ° ΠΊΡΠ°ΡΡ ΡΠ΅ Π½Π°Π»Π°Π·Π΅ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΈ Π·Π° Π±ΡΠ·ΠΈ ΠΏΡΠΈΡΡΡΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΈ. ΠΠ΅ΡΠΈΠ½ΠΈΡΠΈΡΠ΅ Π½Π΅ΠΏΠΎΠ·Π½Π°ΡΠΈΡ ΠΏΠΎΡΠΌΠΎΠ²Π° ΠΌΠΎΠ³Ρ ΡΠ΅ Π½Π°ΡΠΈ Ρ .
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΠ‘
ΠΠ° Π±ΠΈΡΠΌΠΎ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, ΠΏΡΠ²ΠΎ Π½Π°ΠΌ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΠΠ°Π²Π°. ΠΠ΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ ΠΠ°Π²Π° Π²Π΅ΡΠ·ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠ΄ ΠΠ°Π²Π° 8 Π°ΠΆΡΡΠΈΡΠ°ΡΠ° 20 ΠΈΠ»ΠΈ ΠΠ°Π²Π° 7 Π°ΠΆΡΡΠΈΡΠ°ΡΠ° 55.
ΠΠ‘ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° . ΠΠ°ΠΊΠΎΠ½ ΡΠ°ΡΠΏΠ°ΠΊΠΈΠ²Π°ΡΠ° Π°ΡΡ
ΠΈΠ²Π΅ ΠΌΠΎΡΠ°ΡΠ΅ ΠΏΠΎΠΊΡΠ΅Π½ΡΡΠΈ 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"
}ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠ°ΡΠ΅
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ ΠΏΠΎΡΡ Ρ ΠΠ‘:
# ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ 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
}
ΠΠ‘ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΊΡΠ΅ΠΈΡΠ°Π½ Π±Π»ΠΎΠ³ ΠΈ ΠΏΠΎΡΡΠ°. ΠΠΎΠΆΠ΅ΠΌΠΎ ΠΏΠΎΠ²ΡΡΠΈ ΡΡΠ»ΠΎΠ²Π½Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΡ: ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ Π±Π°Π·Π° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, Π° ΡΠΈΠΏ ΡΠ΅ ΡΠ°Π±Π΅Π»Π° Ρ ΠΎΠ²ΠΎΡ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. Π‘Π²Π°ΠΊΠΈ ΡΠΈΠΏ ΠΈΠΌΠ° ΡΠ²ΠΎΡΡ ΡΠ΅ΠΌΡ β , Π±Π°Ρ ΠΊΠ°ΠΎ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π° ΡΠ°Π±Π΅Π»Π°. ΠΠ°ΠΏΠΈΡΠ°ΡΠ΅ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΊΠ°Π΄Π° ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°:
# ΠΠΎΠ»ΡΡΠΈΠΌ 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"
}
}
}
}
}
}ΠΡΠ΅Π΄ΠΈ Π½Π°ΠΏΠΎΠΌΠ΅Π½ΡΡΠΈ Π΄Π° ΠΠ‘ Π½Π΅ ΠΏΡΠ°Π²ΠΈ ΡΠ°Π·Π»ΠΈΠΊΡ ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠ΅Π΄Π½Π΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈ Π½ΠΈΠ·Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ΅ Π½Π°ΡΠ»ΠΎΠ²Π° ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ°Π΄ΡΠΆΠΈ Π½Π°ΡΠ»ΠΎΠ², Π° ΠΏΠΎΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠ° ΡΠ°Π΄ΡΠΆΠΈ Π½ΠΈΠ· ΡΡΡΠΈΠ½Π³ΠΎΠ²Π°, ΠΈΠ°ΠΊΠΎ ΡΡ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ΅Π½ΠΈ Π½Π° ΠΈΡΡΠΈ Π½Π°ΡΠΈΠ½ Ρ ΠΌΠ°ΠΏΠΈΡΠ°ΡΡ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΌΠΎ Π²ΠΈΡΠ΅ ΠΏΡΠΈΡΠ°ΡΠΈ ΠΎ ΠΌΠ°ΠΏΠΈΡΠ°ΡΡ.
zahtevi
ΠΡΠ΅ΡΠ·ΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΡΠ΅Π³ΠΎΠ²ΠΎΠΌ ΠΠ-Ρ:
# ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ 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 ΠΈ ΠΏΠΎΠ΄Π½Π΅ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅ ΠΏΡΠ΅ Π½Π°Ρ, ΠΎΠ½Π΄Π° ΠΠ‘ Π½Π΅ΡΠ΅ ΠΏΡΠΈΡ
Π²Π°ΡΠΈΡΠΈ Π½Π°ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅, ΡΠ΅Ρ ΠΎΠ½ ΡΡΠ²Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠΎΠΌ 2.
ΠΡΡΡ _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 Ρ ΠΈΠ·Π»Π°Π·Ρ ΡΠ°Π΄ΡΠΆΠΈ Π½ΠΈΠ· ΡΠ΅Π»ΠΈΡ
Π±ΡΠΎΡΠ΅Π²Π° ΠΏΠΎ ΠΊΠΎΡΠΈΠΌΠ° ΡΠ΅ Π²ΡΡΠΈ ΡΠΎΡΡΠΈΡΠ°ΡΠ΅. ΠΠ½Π΅. Π΄Π°ΡΡΠΌ ΡΠ΅ ΠΏΡΠ΅ΡΠ²ΠΎΡΠ΅Π½ Ρ ΡΠ΅ΠΎ Π±ΡΠΎΡ. ΠΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎ ΡΠΎΡΡΠΈΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ½Π°ΡΠΈ Ρ .
Π€ΠΈΠ»ΡΠ΅ΡΠΈ ΠΈ ΡΠΏΠΈΡΠΈ
ΠΠ‘ ΠΎΠ΄ Π²Π΅ΡΠ·ΠΈΡΠ΅ 2 Π½Π΅ ΠΏΡΠ°Π²ΠΈ ΡΠ°Π·Π»ΠΈΠΊΡ ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠΈΠ»ΡΠ΅ΡΠ° ΠΈ ΡΠΏΠΈΡΠ° .
ΠΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΏΠΈΡΠ° ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠΈΠ»ΡΠ΅ΡΠ° ΠΏΠΎ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠΏΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ _ΡΡΠΎΡΠ΅ ΠΈ Π½ΠΈΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Π½. ΠΠ°ΡΠ½ΠΈΡΠ΅ ΡΡ Π²Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠΈ ΡΡΠ° ΡΠ΅ _ΡΡΠΎΡΠ΅.
Π€ΠΈΠ»ΡΡΠΈΡΠ°ΡΡΠ΅ ΠΏΠΎ Π΄Π°ΡΡΠΌΡ
ΠΠΎΡΠΈΡΡΠΈΠΌΠΎ Π·Π°Ρ ΡΠ΅Π² Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΡΠΈΠ»ΡΠ΅ΡΠ°:
# ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΡΡ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ 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 Π΅ΠΌΠΈΡΠΈΡΠ΅ . ΠΠΊΠΎ ΡΠ΅ Π·Π°Ρ
ΡΠ΅Π² ΠΈΠ·Π²ΡΡΠ°Π²Π° Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΡΠΈΠ»ΡΠ΅ΡΠ°, ΠΎΠ½Π΄Π° ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡ _ΡΡΠΎΡΠ΅ ΡΠ²Π΅ΠΊ Π±ΠΈΡΠΈ ΡΠ΅Π΄Π½Π°ΠΊΠ° 1, ΡΡΠΎ Π·Π½Π°ΡΠΈ ΠΏΠΎΡΠΏΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΄Π°ΡΠ°ΡΠ΅ ΡΠ° ΡΠΈΠ»ΡΠ΅ΡΠΎΠΌ.
ΠΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ
ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΡΡ Π·Π° ΠΏΡΠ΅ΡΠ²Π°ΡΠ°ΡΠ΅ ΠΈΠ·Π²ΠΎΡΠ½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° Ρ ΡΠΊΡΠΏ ΡΠΎΠΊΠ΅Π½Π°.
ΠΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ ΡΠ΅ ΡΠ°ΡΡΠΎΡΠ΅ ΠΎΠ΄ ΡΠ΅Π΄Π½ΠΎΠ³ ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΎΠΏΡΠΈΠΎΠ½ΠΈΡ
. Π’ΠΎΠΊΠ΅Π½ΠΈΠ·Π΅Ρ-Ρ ΠΌΠΎΠΆΠ΅ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄ΠΈΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ . Π’ΠΎΠΊΠ΅Π½ΠΈΠ·Π°ΡΠΎΡΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΠΈΠ·Π²ΠΎΡΠ½ΠΈ Π½ΠΈΠ· Π½Π° ΡΠΎΠΊΠ΅Π½Π΅, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ ΡΠ°Π·ΠΌΠ°ΡΠΈ ΠΈ Π·Π½Π°ΠΊΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ½ΠΊΡΠΈΡΠ΅. Π’ΠΎΠΊΠ΅Π½Π€ΠΈΠ»ΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠΈ ΡΠΎΠΊΠ΅Π½Π΅, ΠΈΠ·Π±ΡΠΈΡΠ°ΡΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠ΄Π°ΡΠΈ Π½ΠΎΠ²Π΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΠ°Π²ΠΈΡΠΈ ΡΠ°ΠΌΠΎ ΠΊΠΎΡΠ΅Π½ ΡΠ΅ΡΠΈ, ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠ³Π΅, Π΄ΠΎΠ΄Π°ΡΠΈ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠ΅. Π¦Ρ
Π°ΡΠ€ΠΈΠ»ΡΠ΅Ρ - ΠΌΠ΅ΡΠ° ΡΠ΅ΠΎ ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΡΡΡΠΈΠ½Π³, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠ΅ΡΠ΅ Ρ
ΡΠΌΠ» ΠΎΠ·Π½Π°ΠΊΠ΅.
ΠΠ‘ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ . ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ .
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΡΠΊΠΎΡΠΈΡΡΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π½ΠΎΡΡ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΠΈ ΡΡΡΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡ Π½ΠΈΠ· βΠ‘ΠΌΠ΅ΡΠ½Π΅ ΠΏΡΠΈΡΠ΅ ΠΎ ΠΌΠ°ΡΠΈΡΠΈΠΌΠ°β:
# ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ 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"
]
}
}
}ΠΡΠ²ΠΎ, ΡΠ²Π΅ Π₯Π’ΠΠ ΠΎΠ·Π½Π°ΠΊΠ΅ ΡΠ΅ Π±ΠΈΡΠΈ ΡΠΊΠ»ΠΎΡΠ΅Π½Π΅ ΠΈΠ· ΠΈΠ·Π²ΠΎΡΠ½ΠΎΠ³ Π½ΠΈΠ·Π°, Π·Π°ΡΠΈΠΌ ΡΠ΅ Π³Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄ Π·Π° ΡΠΎΠΊΠ΅Π½ΠΈΠ·Π΅Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠΈ Π½Π° ΡΠΎΠΊΠ΅Π½Π΅, ΡΠ΅Π·ΡΠ»ΡΡΡΡΡΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠΈ Π½Π° ΠΌΠ°Π»Π° ΡΠ»ΠΎΠ²Π°, Π±Π΅Π·Π½Π°ΡΠ°ΡΠ½Π΅ ΡΠ΅ΡΠΈ ΡΠ΅ Π±ΠΈΡΠΈ ΡΠΊΠ»ΠΎΡΠ΅Π½Π΅, Π° ΠΏΡΠ΅ΠΎΡΡΠ°Π»ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ ΡΠ΅ ΠΎΡΡΠ°ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π° ΡΠ΅ΡΠΈ.
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
ΠΠ·Π½Π°Π΄ ΡΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ. ΠΡΠΈΠΌΠ΅ΡΠΈΠ²Π°ΡΠ΅ ΡΠ΅ Π½Π° ΡΠ²Π° ΠΏΠΎΡΠ° ΡΡΡΠΈΠ½Π³ΠΎΠ²Π°. ΠΠ°Ρ ΠΏΠΎΡΡ ΡΠ°Π΄ΡΠΆΠΈ Π½ΠΈΠ· ΠΎΠ·Π½Π°ΠΊΠ°, ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΈ ΡΠ°Π³ΠΎΠ²ΠΈ Π±ΠΈΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈ ΠΎΠ΄ ΡΡΡΠ°Π½Π΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°. ΠΠ΅Ρ Π’ΡΠ°ΠΆΠΈΠΌΠΎ ΠΏΠΎΡΡΠΎΠ²Π΅ ΠΏΠΎ ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΡΠ΄Π°ΡΠ°ΡΡ ΡΠ° ΠΎΠ·Π½Π°ΠΊΠΎΠΌ, Π° Π·Π°ΡΠΈΠΌ ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΠΎΠ½Π΅ΠΌΠΎΠ³ΡΡΠΈΠΌΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ Π·Π° ΠΏΠΎΡΠ΅ Π·Π° ΠΎΠ·Π½Π°ΠΊΠ΅.
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΈ Π±Π»ΠΎΠ³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
ΠΠΊΠΎ ΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈ Π·Π° ΡΠ°ΠΊΠ²Π΅ Π»Π΅ΠΊΡΠΈΡΠ΅ ΡΠ»Π°Π½Π°ΠΊΠ°, ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ΄Π΅ΡΠ΅ Π·Π° Π½ΠΎΠ²Π΅ ΡΠ»Π°Π½ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠ³Π΅ Π·Π° ΡΠ°ΡΠ°Π΄ΡΡ, Π±ΠΈΡΠ΅ ΠΌΠΈ Π΄ΡΠ°Π³ΠΎ Π΄Π° Π΄ΠΎΠ±ΠΈΡΠ΅ΠΌ ΠΏΠΎΡΡΠΊΡ Ρ Π»ΠΈΡΠ½ΠΎΡ ΠΏΠΎΡΡΡΠΈ ΠΈΠ»ΠΈ Π½Π° ΠΌΠ°ΠΈΠ» ΠΌ.ΠΊΡΠ·ΠΌΠΈΠ½+Ρ Π°Π±Ρ@Π΄Π°ΡΠΊΠ»Π΅Π°Ρ.ΡΡ.
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ
