āχāϞāĻžāĻ¸ā§āϟāĻŋāĻ• āϏāĻžāĻ°ā§āϚ āĻŦ⧇āϏāĻŋāĻ•

Elasticsearch āĻšāϞ āĻāĻ•āϟāĻŋ āϏāĻžāĻ°ā§āϚ āχāĻžā§āϜāĻŋāύ āϝāĻžāϰ json rest api, Lucene āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϜāĻžāĻ­āĻžāϤ⧇ āϞ⧇āĻ–āĻžāĨ¤ āĻāχ āχāĻžā§āϜāĻŋāύ⧇āϰ āϏāĻŽāĻ¸ā§āϤ āϏ⧁āĻŦāĻŋāϧāĻžāϰ āĻŦāĻŋāĻŦāϰāĻŖ āĻāĻ–āĻžāύ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ āĻ…āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ. āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤāϟāĻŋāϤ⧇ āφāĻŽāϰāĻž āχāϞāĻžāĻ¸ā§āϟāĻŋāĻ•āϏāĻžāĻ°ā§āϚāϕ⧇ ES āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰāĻŦāĨ¤

āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϜāϟāĻŋāϞ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āύ⧁āϰ⧂āĻĒ āχāĻžā§āϜāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻ­āĻžāώāĻžāϰ āϰ⧂āĻĒāĻŦāĻŋāĻĻā§āϝāĻž āĻŦāĻŋāĻŦ⧇āϚāύāĻžāϝāĻŧ āύāĻŋāϝāĻŧ⧇ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰ⧁āύ āĻŦāĻž āϜāĻŋāĻ“ āĻ¸ā§āĻĨāĻžāύāĻžāĻ™ā§āĻ• āĻĻā§āĻŦāĻžāϰāĻž āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰ⧁āύāĨ¤

āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāĻŽāĻŋ āĻŦā§āϞāĻ— āĻĒā§‹āĻ¸ā§āĻŸā§‡āϰ āϏ⧂āĻšā§€āĻ•āϰāϪ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ ES āĻāϰ āĻŽā§‚āϞ āĻŦāĻŋāώāϝāĻŧāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻŦāĨ¤ āφāĻŽāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĻ⧇āĻ–āĻžāĻŦ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ, āĻŦāĻžāĻ›āĻžāχ āĻāĻŦāĻ‚ āύāĻĨāĻŋ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰāϤ⧇ āĻšāϝāĻŧāĨ¤

āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāĻŋ CURL āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ ES āĻāϰ āĻ•āĻžāϛ⧇ āϏāĻŽāĻ¸ā§āϤ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻŦāĨ¤ āϗ⧁āĻ—āϞ āĻ•ā§āϰ⧋āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒā§āϞāĻžāĻ—āχāύāĻ“ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻžāϕ⧇ āĻŦāϞāĻž āĻšāϝāĻŧ āĻ…āύ⧁āĻ­ā§‚āϤāĻŋ.

āĻĒāĻžāĻ ā§āϝāϟāĻŋāϤ⧇ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āωāĻ¤ā§āϏ⧇āϰ āϞāĻŋāĻ™ā§āĻ• āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻļ⧇āώ⧇ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĻā§āϰ⧁āϤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āϜāĻ¨ā§āϝ āϞāĻŋāĻ™ā§āĻ• āφāϛ⧇. āĻ…āĻĒāϰāĻŋāϚāĻŋāϤ āĻĒāĻĻ⧇āϰ āϏāĻ‚āĻœā§āĻžāĻž āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāĻŦ⧇ āĻļāĻŦā§āĻĻāϕ⧋āώ.

āχāĻāϏ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇

āĻāϟāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻĨāĻŽā§‡ āϜāĻžāĻ­āĻž āĻĻāϰāĻ•āĻžāϰāĨ¤ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀āϰāĻž āϏ⧁āĻĒāĻžāϰāĻŋāĻļ āĻ•āϰāĻž Java 8 āφāĻĒāĻĄā§‡āϟ 20 āĻŦāĻž Java 7 āφāĻĒāĻĄā§‡āϟ 55 āĻāϰ āĻšā§‡āϝāĻŧ⧇ āύāϤ⧁āύ āϜāĻžāĻ­āĻž āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧁āύāĨ¤

ES āĻŦāĻŋāϤāϰāĻŖ āĻāĻ–āĻžāύ⧇ āωāĻĒāϞāĻŦā§āϧ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀ āϏāĻžāχāϟ. āϏāĻ‚āϰāĻ•ā§āώāĻŖāĻžāĻ—āĻžāϰāϟāĻŋ āφāύāĻĒā§āϝāĻžāĻ• āĻ•āϰāĻžāϰ āĻĒāϰ⧇ āφāĻĒāύāĻžāϕ⧇ āϚāĻžāϞāĻžāϤ⧇ āĻšāĻŦ⧇ bin/elasticsearch. āĻāϟāĻžāĻ“ āφāϛ⧇ apt āĻāĻŦāĻ‚ yum-āĻāϰ āϜāĻ¨ā§āϝ āĻĒā§āϝāĻžāϕ⧇āϜāĨ¤ āĻāĻ–āĻžāύ⧇ āĻĄāĻ•āĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āχāĻŽā§‡āϜ. āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰ⧋.

āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻāĻŦāĻ‚ āϞāĻžā§āϚ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, āĻāϰ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻž āϝāĻžāĻ•:

# Đ´ĐģŅ ŅƒĐ´ĐžĐąŅŅ‚Đ˛Đ° СаĐŋĐžĐŧĐŊиĐŧ Đ°Đ´Ņ€Đĩҁ в ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅƒŅŽ
#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 āĻāϰ āĻŦ⧇āĻļ āĻ•āĻŋāϛ⧁ āφāϛ⧇ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŦāĻŋāĻļā§āϞ⧇āώāĻ•. āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļā§āϞ⧇āώāĻ• āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ.

āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžāĻ• API āĻāĻŦāĻ‚ āφāϏ⧁āύ āĻĻ⧇āĻ–āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ‚ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻŦāĻŋāĻļā§āϞ⧇āώāĻ•āϰāĻž "āĻŦāĻŋāĻĄāĻŧāĻžāϞāĻ›āĻžāύāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŽāϜāĻžāϰ āĻ—āĻ˛ā§āĻĒ" āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āϟāĻŋāϕ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰāĻŋāϤ āĻ•āϰ⧇:

# Đ¸ŅĐŋĐžĐģŅŒĐˇŅƒĐĩĐŧ аĐŊаĐģĐ¸ĐˇĐ°Ņ‚ĐžŅ€ 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