Elasticsearch แแ แแก แกแแซแแแแ แกแแกแขแแแ json rest api-แแ, Lucene-แแก แแแแแงแแแแแแ แแ แแแฌแแ แแแ แฏแแแแจแ. แแ แซแ แแแแก แงแแแแ แฃแแแ แแขแแกแแแแก แแฆแฌแแ แ แฎแแแแแกแแฌแแแแแแ แแฅ
แแกแแแแกแ แซแ แแแแแ แแแแแแงแแแแแ แแแแฃแแแแขแแแแก แแแแแชแแแแ แแแแแจแ แ แแฃแแ แซแแแแแกแแแแก. แแแแแแแแแ, แซแแแแ แแแแก แแแ แคแแแแแแแก แแแแแแแแกแฌแแแแแแ แแ แแแแแแแ แแแแแขแแแแ แซแแแแ.
แแ แกแขแแขแแแจแ แแ แแแกแแฃแแ แแ ES-แแก แกแแคแฃแซแแแแแแ แแแแแแก แแแกแขแแแแก แแแแแฅแกแแ แแแแก แแแแแแแแแก แแแแแงแแแแแแ. แแ แแแฉแแแแแแ แ แแแแ แแแคแแแขแ แแ, แแแแแแแแ แแ แแแซแแแแแ แแแแฃแแแแขแแแ.
แแแแกแแแแแก, แ แแ แแ แแแงแ แแแแแแแแแแฃแแ แแแแ แแชแแฃแ แกแแกแขแแแแแ, แแ แงแแแแ แแแแฎแแแแแก แแแแแแ แแแ ES-แก CURL-แแก แแแแแงแแแแแแ. แแกแแแ แแ แแก แแฃแแแแก แฅแ แแแแก แแแแแแแขแ, แ แแแแแกแแช แ.แฌ
แขแแฅแกแขแ แจแแแชแแแก แแแแฃแแแแขแแชแแแกแ แแ แกแฎแแ แฌแงแแ แแแแแก แแแฃแแแแก. แแแกแแกแ แฃแแก แแ แแก แแแฃแแแแ แแแแฃแแแแขแแชแแแแ แกแฌแ แแคแ แฌแแแแแแกแแแแก. แฃแชแแแแ แขแแ แแแแแแแก แแแแแแ แขแแแแแ แจแแแแซแแแแ แแฎแแแแ แแฅ
แแแกแขแแแแชแแ
แแแแกแแแแแก แฉแแแ แฏแแ แฏแแแ แแแญแแ แแแแ. แแแแแแแแแ แแแ
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-แแ:
# ะธะทะฒะปะตัะตะผ ะดะพะบัะผะตะฝั ั 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 แแแแฎแแแก แจแแแฃแแจแฃแ แฌแงแแ แแก แแแแฃแแแแขแก. แแฃ แฉแแแ แแแญแแ แแแแ แแฎแแแแ ID แแ แแ แ แแแแแ แกแแฌแงแแกแ แแแแฃแแแแขแ, แแแจแแ แจแแแแแซแแแ แแแแแ แแแ แฌแงแแ แแก แจแแแแฎแแ.
แแฃ แแ แแแญแแ แแแแ แแแแแขแแแแแ แแแคแแ แแแชแแ, แฉแแแ แจแแแแแซแแแ แแแแแฆแแ แแฎแแแแ _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 แแ แแแแแกแฎแแแแแแก แคแแแขแ แแแกแ แแ แแแแฎแแแแแแก แจแแ แแก
แจแแแแแฎแแแก แแแแขแแฅแกแขแ แแแแกแฎแแแแแแแ แคแแแขแ แแก แแแแขแแฅแกแขแแกแแแ แแแแ, แ แแ แแแแฎแแแแ แฌแแ แแแฅแแแแก _แฅแฃแแแก แแ แแ แแ แแก แฅแแจแแ แแแฃแแ. แแแแแแแแแแแ แแแฉแแแแแแ แ แ _ แฅแฃแแแ.
แแแคแแแขแแ แ แแแ แแฆแแก แแแฎแแแแแ
แฉแแแ แแแงแแแแแ แแแแฎแแแแแก
# ะฟะพะปััะธะผ ะฟะพััั, ะพะฟัะฑะปะธะบะพะฒะฐะฝะฝัะต 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
} ]
}
แกแขแแแแแ แขแฃแแแ แแแแแแแแขแแ แแ แแแงแ แกแขแ แแฅแแแ แแแขแแ แแแแแ แแ แแแแแแฅแชแแ แงแแแแแคแแ แ แแชแแ แ แ แแแแกแขแ แจแ, แ แฃแกแฃแแแ แแแแแแแแขแแ แแ แแแแแฆแ แฃแแแแจแแแแแ แกแแขแงแแแแ, แแแแแแฅแชแแ แแแขแแ แ แ แแแแ แแจแ แแ แแแขแแแ แกแแขแงแแแแแก แคแฃแซแ.
แแแแฎแแ, แ แแแแ Tokenizer, TokenFilters, CharFilters แแงแแแแแก แ แฃแกแฃแแ แแแแแแแแขแแ แ:
{
"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 ะพััััััะฒััั */
}
}
}
แแแแแ แแฆแแฌแแ แแ แฉแแแแ แแแแแแแแขแแ แ แ แฃแกแฃแแแ แแแคแฃแซแแแแฃแแ, แ แแแแแแช แแแแแฆแแแก html แขแแแแแก. แแแแแ แฅแแแ แแแแฃแแแกแฎแแแแ, แ แแแแแ แกแขแแแแแ แขแฃแแแ แแแแแงแแแแแฃแแ แแฅแแแแ แแ แกแแฎแแแแก แแแแแแแแขแแ แ.
{
"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 แแแกแขแ แแ แแแแแฅแกแจแ (blog2). แแ แแแแแแขแแแแ แแ แแ แแชแแกแก, แ แแแแแ ... แแก แแแแแแก แแแแแฅแกแจแ แแแแฃแแแแขแแแแก แแแแแขแแแแก แแกแแแแกแแ.
แกแ แฃแแ แขแแฅแกแขแแก แซแแแแ แแแแแฎแแขแแแก แแฎแแ แแแญแแ แแ
แแแแแ แจแแแฎแแแแ แกแฎแแ แขแแแแก แแแแฎแแแแแก:
# ะฝะฐะนะดะตะผ ะดะพะบัะผะตะฝัั, ะฒ ะบะพัะพััั
ะฒัััะตัะฐะตััั ัะปะพะฒะพ 'ะธััะพัะธะธ'
# 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 ะฟะพััะฐ ะฟัะพ ะบะพัะธะบะพะฒ
แแแขแแ แแขแฃแ แ
Elasctic.co Reference แชแฎแแแแก แแแกแขแ แฃแฅแขแแ แ แขแแ แแแแแแ แแแงแแแแแแก แแแแฃแแแแขแแก แแแแแแฃแแแ แแแ แแแแแฅแกแแก แแแแ แแชแแแแ แแแแฎแแแแแแแก แกแแ
PS
แแฃ แแแแแขแแ แแกแแแ แแกแแแแกแ แกแขแแขแแแแ-แแแแแแแแแแแ, แแแฅแแ แแฎแแแ แกแขแแขแแแแแก แแแแแแ, แแ แแแฅแแ แฌแแแแแแแแแแแ แแแแแแจแ แแแแแแแกแแแแก, แแแจแแ แแแฎแแ แฃแแ แแแฅแแแแ, แ แแ แแแแแฆแ แจแแขแงแแแแแแแ แแแ แแ แแแกแแฏแจแ แแ แแแแฅแขแ แแแฃแแ แคแแกแขแแ. [แแ.แคแแกแขแแ แแแชแฃแแแ].
แฌแงแแ แ: www.habr.com