{"id":13435,"date":"2019-12-07T09:44:15","date_gmt":"2019-12-07T09:44:15","guid":{"rendered":"http:\/\/bigdata-ir.com\/?p=351"},"modified":"2019-12-07T09:44:15","modified_gmt":"2019-12-07T09:44:15","slug":"%d8%a7%d8%b6%d8%a7%d9%81%d9%87-%d8%b4%d8%af%d9%86-%d9%88%db%8c%da%98%da%af%db%8c-%d8%b3%d8%a7%d8%b3%db%8c-sasi-%d8%af%d8%b1-%da%a9%d8%a7%d8%b3%d8%a7%d9%86%d8%af%d8%b1%d8%a7-%d8%a8%d9%87-%d9%85%d9%86","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/%d8%a7%d8%b6%d8%a7%d9%81%d9%87-%d8%b4%d8%af%d9%86-%d9%88%db%8c%da%98%da%af%db%8c-%d8%b3%d8%a7%d8%b3%db%8c-sasi-%d8%af%d8%b1-%da%a9%d8%a7%d8%b3%d8%a7%d9%86%d8%af%d8%b1%d8%a7-%d8%a8%d9%87-%d9%85%d9%86\/","title":{"rendered":"\u0648\u06cc\u0698\u06af\u06cc \u0633\u0627\u0633\u06cc SASI \u062f\u0631 \u06a9\u0627\u0633\u0627\u0646\u062f\u0631\u0627 \u0628\u0647 \u0645\u0646\u0638\u0648\u0631 Full Search"},"content":{"rendered":"<p>\u0646\u0645\u0627\u06cc\u0647 \u06af\u0630\u0627\u0631\u06cc \u0633\u0627\u0633\u06cc (SASI): \u0627\u0632 \u0646\u0633\u062e\u0647 3.4\u060c \u0645\u06cc\u00ad\u062a\u0648\u0627\u0646 \u0627\u0632 \u067e\u06cc\u0627\u062f\u0647\u00ad \u0633\u0627\u0632\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0627\u0632 \u0627\u0646\u062f\u06cc\u0633\u00ad\u0647\u0627\u06cc \u062b\u0627\u0646\u0648\u06cc\u0647 SSTable Attached Secondary Index (SASI) \u0628\u0647\u0631\u0647 \u0628\u0631\u062f. \u0628\u0631\u0627\u06cc \u0633\u062a\u0648\u0646\u00ad\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u067e\u06cc\u0627\u062f\u0647\u00ad \u0633\u0627\u0632\u06cc \u0633\u0627\u0633\u06cc (SASI)\u060c \u0627\u0646\u062f\u06cc\u0633 \u062b\u0627\u0646\u0648\u06cc\u0647 \u0645\u06cc\u00ad\u0634\u0648\u0646\u062f\u060c \u0645\u06cc\u00ad\u062a\u0648\u0627\u0646 \u062f\u0631 \u067e\u0631\u0633\u00ad\u0648\u062c\u0648\u0647\u0627 \u0627\u0632 \u0639\u0645\u0644\u06af\u0631\u0647\u0627\u06cc \u0646\u0627\u0645\u0633\u0627\u0648\u06cc (\u067e\u0631\u0633\u00ad\u0648\u062c\u0648\u06cc \u0645\u062d\u062f\u0648\u062f\u0647\u00ad\u0627\u06cc \u0627\u0632 \u0645\u0642\u0627\u062f\u06cc\u0631) \u0648 LIKE (\u0645\u0627\u0646\u0646\u062f SQL) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0646\u0648\u0639 \u067e\u06cc\u0627\u062f\u0647\u00ad \u0633\u0627\u0632\u06cc\u060c \u062f\u0631 \u067e\u0631\u0633\u0648\u062c\u0648\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u067e\u0627\u0644\u0627\u06cc\u0634 \u062f\u0627\u0631\u0646\u062f (Allow filtering)\u060c \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u062d\u0627\u0635\u0644 \u0645\u06cc\u00ad\u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u06cc\u0627\u062f\u0647 \u00ad\u0633\u0627\u0632\u06cc \u062a\u0627 \u0628\u0647 \u0627\u0645\u0631\u0648\u0632 (\u0646\u0633\u062e\u0647 3.9) \u0646\u0645\u06cc\u00ad\u062a\u0648\u0627\u0646 Collection \u0647\u0627 \u0631\u0627 \u0627\u0646\u062f\u06cc\u0633 \u0646\u0645\u0648\u062f. \u0633\u0647 \u0631\u0648\u0634 \u0645\u062a\u0641\u0627\u0648\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0646\u0648\u0639 \u0627\u06cc\u0646\u062f\u06a9\u0633 \u062f\u0631 \u06a9\u0627\u0633\u0627\u0646\u062f\u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0639\u0646\u0627\u0648\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0627\u0633\u062a.<\/p>\n<ul>\n<li><strong class=\"ph b\">\u062d\u0627\u0644\u062a PREFIX index<\/strong><\/li>\n<li><strong class=\"ph b\">\u062d\u0627\u0644\u062a CONTAINS index<\/strong><\/li>\n<li><strong class=\"ph b\">\u062d\u0627\u0644\u062a SPARSE index<\/strong><\/li>\n<\/ul>\n<figure id=\"attachment_354\" class=\"wp-caption aligncenter\" aria-describedby=\"caption-attachment-354\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-354\" title=\"\u0633\u0627\u0633\u06cc (SASI)\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986.jpg\" sizes=\"auto, (max-width: 527px) 100vw, 527px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986.jpg 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-1.jpg 638w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"527\" height=\"297\" \/><figcaption id=\"caption-attachment-354\" class=\"wp-caption-text\">SSTable Attached Secondary Index<\/figcaption><\/figure>\n<p>\u0645\u0646 \u062f\u06cc\u06af\u0631 \u062d\u0631\u0641\u06cc \u0646\u062f\u0627\u0631\u0645\u2026 \u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0646 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0628\u0647 \u06a9\u0627\u0633\u0627\u0646\u062f\u0631\u0627 \u0627\u0648\u0644\u06cc\u0646 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0628\u0647 \u0630\u0647\u0646 \u0645\u06cc \u0622\u06cc\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647\u00a0\u0628\u0632\u0648\u062f\u06cc \u06a9\u0627\u0633\u0627\u0646\u062f\u0631\u0627 \u0647\u0645 \u0645\u06cc\u062e\u0648\u0627\u0647\u062f \u062c\u0627\u06cc \u0641\u0648\u0644 \u062a\u06a9\u0633\u062a \u0633\u0631\u0686\u0631\u0647\u0627 \u0631\u0627 \u0628\u06af\u06cc\u0631\u062f \u0648 \u0647\u0645 \u0645\u06cc\u062e\u0648\u0627\u0647\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0628\u0627\u0646\u06a9 \u0647\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627\u0628\u0637\u0647 \u0627\u06cc \u0628\u0634\u0648\u062f \u0648 \u0647\u0645 \u0645\u06cc\u062e\u0648\u0627\u0647\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0633\u0646\u062f\u06af\u0631\u0627 \u0627\u06cc\u0641\u0627\u06cc \u0646\u0642\u0634 \u06a9\u0646\u062f. \u0641\u0639\u0644\u0627 \u0648\u0642\u062a \u0646\u062f\u0627\u0631\u0645 \u062a\u0631\u062c\u0645\u0647 \u06a9\u0646\u0645 \u0648\u0644\u06cc \u062e\u0648\u062f\u062a\u0627\u0646 \u06cc\u06a9 \u0646\u06af\u0627\u0647 \u0628\u0647 \u0645\u0646\u0628\u0639 \u0622\u062e\u0631 \u0645\u0637\u0644\u0628 \u0628\u06a9\u0646\u06cc\u062f \u0645\u06cc\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062a\u0648\u062c\u0647 \u0628\u0634\u0648\u06cc\u062f \u0686\u0647 \u062e\u0628\u0631 \u0627\u0633\u062a.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">Using a SSTable Attached Secondary Index (SASI)<br \/>\nSecondary indexes, SSTable Attached Secondary Indexes (SASI), have improved the performance of secondary indexes but should be used with caution.<br \/>\nNote: SASI indexes in DSE are experimental. DataStax does not support SASI indexes for production.<br \/>\nUsing CQL, SSTable attached secondary indexes (SASI) can be created on a non-collection column defined in a table. Secondary indexes are used to query a table that uses a column that is not normally queryable, such as a non primary key column. SASI implements three types of indexes, PREFIX, CONTAINS, and SPARSE.<\/p>\n<h2><strong>\u062d\u0627\u0644\u062a PREFIX index:<\/strong><\/h2>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e701fa930061340\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nCreate an index fn_prefix for the table cyclist_name on the column firstname. PREFIX is the default mode, so it does not need to be specified. CREATE TABLE cycling.cyclist_name ( id UUID PRIMARY KEY, lastname text, firstname text ); CREATE CUSTOM INDEX fn_prefix ON cyclist_name (firstname) USING &#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217;; SELECT * FROM cycling.cyclist_name;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">Create <\/span><span class=\"crayon-e\">an <\/span><span class=\"crayon-e\">index <\/span><span class=\"crayon-e\">fn_prefix <\/span><span class=\"crayon-st\">for<\/span> <span class=\"crayon-e\">the <\/span><span class=\"crayon-e\">table <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">on <\/span><span class=\"crayon-e\">the <\/span><span class=\"crayon-e\">column <\/span><span class=\"crayon-v\">firstname<\/span><span class=\"crayon-sy\">.<\/span> <span class=\"crayon-e\">PREFIX <\/span><span class=\"crayon-st\">is<\/span> <span class=\"crayon-e\">the <\/span><span class=\"crayon-st\">default<\/span> <span class=\"crayon-v\">mode<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">so <\/span><span class=\"crayon-e\">it <\/span><span class=\"crayon-e\">does <\/span><span class=\"crayon-st\">not<\/span> <span class=\"crayon-e\">need <\/span><span class=\"crayon-st\">to<\/span> <span class=\"crayon-e\">be <\/span><span class=\"crayon-v\">specified<\/span><span class=\"crayon-sy\">.<\/span><\/p>\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">TABLE <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><\/p>\n<p><span class=\"crayon-e\">id <\/span><span class=\"crayon-e\">UUID <\/span><span class=\"crayon-e\">PRIMARY <\/span><span class=\"crayon-v\">KEY<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-e\">lastname <\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">text<\/span><\/p>\n<p><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">CUSTOM <\/span><span class=\"crayon-e\">INDEX <\/span><span class=\"crayon-e\">fn_prefix <\/span><span class=\"crayon-e\">ON <\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">firstname<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-i\">USING<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">cyclist_name<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0020 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5354\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986.png\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-9.png 611w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"503\" height=\"114\" title=\"\"><\/p>\n<p dir=\"ltr\">Queries can find exact matches for values in firstname. Note that indexing is used for this query, as the primary key id is not specified.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70206351172674\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname = &#8216;Marianne&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;Marianne&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5356\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-1.png\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-1.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-10.png 562w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"529\" height=\"67\" title=\"\"><\/p>\n<p dir=\"ltr\">Queries can find matches for values in firstname based on partial matches. The use of LIKE specifies that the match is looking for a word that starts with the letter \u201cM\u201d. The % after the letter \u201cM\u201d will match any characters can return a matching value. Note that indexing is used for this query, as the primary key id is not specified.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70210707765079\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname LIKE &#8216;M%&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;M%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5357 alignleft\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-2.png\" sizes=\"auto, (max-width: 521px) 100vw, 521px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-2.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-11.png 560w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"521\" height=\"85\" title=\"\"><\/p>\n<p>\u062a\u0645\u0627\u0645\u06cc \u067e\u0631\u0633\u0648\u062c\u0648 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0627 \u062e\u0637\u0627 \u0645\u0648\u0627\u062c\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70214169710020\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname = &#8216;MARIANNE&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;m%&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%m%&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%m%&#8217; ALLOW FILTERING; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%M%&#8217;; SELECT * FROM cyclist_name WHERE firstname = &#8216;M%&#8217;; SELECT * FROM cyclist_name WHERE firstname = &#8216;%M&#8217;; SELECT * FROM cyclist_name WHERE firstname = &#8216;%M%&#8217;; SELECT * FROM cyclist_name WHERE firstname = &#8216;m%&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;MARIANNE&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;m%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%m%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%m%&#8217;<\/span> <span class=\"crayon-e\">ALLOW <\/span><span class=\"crayon-v\">FILTERING<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%M%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;M%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;%M&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;%M%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;m%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0006 seconds] --><\/p>\n<p dir=\"ltr\">The first four queries fail because of case sensitivity. \u201cMARIANNE\u201d is all uppercase, whereas the stored value is not. The next three use a lowercase \u201cm\u201d. The placement of the % are critical; since the index specifies the PREFIX mode, only a trailing % will yield results when coupled with LIKE. The queries with equalities fail unless the exact match is designated.<\/p>\n<h2><strong>\u062d\u0627\u0644\u062a CONTAINS index:<\/strong><\/h2>\n<p dir=\"ltr\">Create an index fn_suffix for the table cyclist_name on the column firstname. CONTAINS is the specified mode, so that pattern matching for partial patterns given, not just in the prefix.<\/p>\n<p dir=\"ltr\">\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70217116379065\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nCREATE CUSTOM INDEX fn_contains ON cyclist_name (firstname) USING &#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217; WITH OPTIONS = { &#8216;mode&#8217;: &#8216;CONTAINS&#8217; };<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">CUSTOM <\/span><span class=\"crayon-e\">INDEX <\/span><span class=\"crayon-e\">fn_contains <\/span><span class=\"crayon-e\">ON <\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">firstname<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-i\">USING<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217;<\/span><\/p>\n<p><span class=\"crayon-e\">WITH <\/span><span class=\"crayon-v\">OPTIONS<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">{<\/span> <span class=\"crayon-s\">&#8216;mode&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;CONTAINS&#8217;<\/span> <span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\">Queries can find exact matches for values in firstname. Note that indexing is used for this query, as the primary key id is not specified. For queries on CONTAINS indexing, the ALLOW FILTERING phrase must be included, although the database will not actually filter.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e7021a426196970\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname = &#8216;Marianne&#8217; ALLOW FILTERING;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;Marianne&#8217;<\/span> <span class=\"crayon-e\">ALLOW <\/span><span class=\"crayon-v\">FILTERING<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5358\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-3.png\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-3.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-12.png 561w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"542\" height=\"65\" title=\"\"><\/p>\n<p dir=\"ltr\">This query returns the same results as a query using PREFIX indexing that does an exact match using a slightly modified query.<br \/>\nQueries can find matches for values in firstname based on partial matches. The use of LIKE specifies that the match is looking for a word that contains the letter \u201cM\u201d. The % before and after the letter \u201cM\u201d will match any characters can return a matching value. Note that indexing is used for this query, as the primary key id is not specified.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e7021f060416281\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\n?SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%M%&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-sy\">?<\/span><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%M%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5357\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-2.png\" sizes=\"auto, (max-width: 514px) 100vw, 514px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-2.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-11.png 560w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"514\" height=\"84\" title=\"\"><\/p>\n<p dir=\"ltr\">Again, the same results are returned as for the PREFIX indexing, using a slightly modified query.<br \/>\nThe CONTAINS indexing has a more versatile matching algorithm than PREFIX. Look at the examples below to see what results from variations of the last search.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70222089603922\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%arianne&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%arian%&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%arianne&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%arian%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5360\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-4.png\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-4.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-13.png 561w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"500\" height=\"60\" title=\"\"><\/p>\n<p dir=\"ltr\">Each query matches the pattern, either the final characters of the column value as in %arianne or the characters bracketed by % such as %arian%.<br \/>\nWith CONTAINS indexing, even inequality pattern matching is possible. Note again the use of the ALLOW FILTERING phrase that required but causes no latency in the query response.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70225468646691\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname &gt; &#8216;Mar&#8217; ALLOW FILTERING;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-s\">&#8216;Mar&#8217;<\/span> <span class=\"crayon-e\">ALLOW <\/span><span class=\"crayon-v\">FILTERING<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5358\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-3.png\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-3.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-12.png 561w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"491\" height=\"59\" title=\"\"><\/p>\n<p dir=\"ltr\">The only row matching the conditions returns the same value as the last query.<\/p>\n<p dir=\"ltr\">Like with PREFIX indexing, many queries will fail to find matches based on the partial string.<\/p>\n<p>\u062a\u0645\u0627\u0645\u06cc \u067e\u0631\u0633\u0648\u062c\u0648 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0627 \u062e\u0637\u0627 \u0645\u0648\u0627\u062c\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70227866067028\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname = &#8216;Marianne&#8217;; SELECT * FROM cyclist_name WHERE firstname = &#8216;MariAnne&#8217; ALLOW FILTERING; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%m%&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;M%&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%M&#8217;; SELECT * FROM cyclist_name WHERE firstname LIKE &#8216;m%&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;Marianne&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-s\">&#8216;MariAnne&#8217;<\/span> <span class=\"crayon-e\">ALLOW <\/span><span class=\"crayon-v\">FILTERING<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%m%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;M%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%M&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;m%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0004 seconds] --><\/p>\n<p dir=\"ltr\">The first query fails due to the absence of the ALLOW FILTERING phrase. The next two queries fail because of case sensitivity. \u201cMariAnne\u201d has one uppercase letter, whereas the stored value does not. The last three fail due to placement of the %.<\/p>\n<p dir=\"ltr\">Either the PREFIX index or the CONTAINS index can be created with case sensitivity by adding an analyzer class and case_sensitive option.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e7022a548937322\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nCREATE CUSTOM INDEX fn_suffix_allcase ON cyclist_name (firstname) USING &#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217; WITH OPTIONS = { &#8216;mode&#8217;: &#8216;CONTAINS&#8217;, &#8216;analyzer_class&#8217;: &#8216;org.apache.cassandra.index.sasi.analyzer.NonTokenizingAnalyzer&#8217;, &#8216;case_sensitive&#8217;: &#8216;false&#8217; };<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">CUSTOM <\/span><span class=\"crayon-e\">INDEX <\/span><span class=\"crayon-e\">fn_suffix_allcase <\/span><span class=\"crayon-e\">ON <\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">firstname<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-i\">USING<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217;<\/span><\/p>\n<p><span class=\"crayon-e\">WITH <\/span><span class=\"crayon-v\">OPTIONS<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">{<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;mode&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;CONTAINS&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;analyzer_class&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.analyzer.NonTokenizingAnalyzer&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;case_sensitive&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;false&#8217;<\/span><\/p>\n<p><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0003 seconds] --><\/p>\n<p dir=\"ltr\">The analyzer_class used here is the non-tokenizing analyzer that does not perform analysis on the text in the specified column. The option case_sensitive is set to false to make the indexing case insensitive.<br \/>\nWith the addition of the analyzer class and option, the following query now also works, using a lowercase \u201cm\u201d.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e7022d031895554\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE firstname LIKE &#8216;%m%&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">firstname <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;%m%&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0001 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5357\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-2.png\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-2.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-11.png 560w\" alt=\"\" width=\"496\" height=\"81\" title=\"\"><\/p>\n<p dir=\"ltr\">If queries are narrowed with an indexed column value, non-indexed columns can be specified. Compound queries can also be created with multiple indexed columns. This example alters the table to add a column age that is not indexed before performing the query.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e7022f552535128\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nALTER TABLE cyclist_name ADD age int; UPDATE cyclist_name SET age=23 WHERE id=5b6962dd-3f90-4c93-8f61-eabfa4a803e2; INSERT INTO cyclist_name (id,age,firstname,lastname) VALUES (8566eb59-07df-43b1-a21b-666a3c08c08a,18,&#8217;Marianne&#8217;,&#8217;DAAE&#8217;); SELECT * FROM cyclist_name WHERE firstname=&#8217;Marianne&#8217; and age &gt; 20 allow filtering;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">ALTER <\/span><span class=\"crayon-e\">TABLE <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">ADD <\/span><span class=\"crayon-e\">age <\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">UPDATE <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">SET <\/span><span class=\"crayon-v\">age<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">23<\/span> <span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">id<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">5b6962dd<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">3f90<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">4c93<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">8f61<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">eabfa4a803e2<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">INSERT <\/span><span class=\"crayon-e\">INTO <\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">id<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-v\">age<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-v\">firstname<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-v\">lastname<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-e\">VALUES<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">8566eb59<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">07df<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">43b1<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">a21b<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">666a3c08c08a<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-cn\">18<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-s\">&#8216;Marianne&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-s\">&#8216;DAAE&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">firstname<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;Marianne&#8217;<\/span> <span class=\"crayon-st\">and<\/span> <span class=\"crayon-v\">age<\/span> <span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-cn\">20<\/span> <span class=\"crayon-e\">allow <\/span><span class=\"crayon-v\">filtering<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0007 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5367\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-5.png\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-5.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-14.png 612w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"512\" height=\"70\" title=\"\"><\/p>\n<p dir=\"ltr\">\n<h2><strong>\u062d\u0627\u0644\u062a SPARSE index:<\/strong><\/h2>\n<p dir=\"ltr\">The SPARSE index is meant to improve performance of querying large, dense number ranges like timestamps for data inserted every millisecond. If the data is numeric, millions of columns values with a small number of partition keys characterize the data, and range queries will be performed against the index, then SPARSE is the best choice. For numeric data that does not meet this criteria, PREFIX is the best choice.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70232243166742\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nCREATE CUSTOM INDEX fn_contains ON cyclist_name (age) USING &#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217; WITH OPTIONS = { &#8216;mode&#8217;: &#8216;SPARSE&#8217; };<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">CUSTOM <\/span><span class=\"crayon-e\">INDEX <\/span><span class=\"crayon-e\">fn_contains <\/span><span class=\"crayon-e\">ON <\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">age<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-i\">USING<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217;<\/span><\/p>\n<p><span class=\"crayon-e\">WITH <\/span><span class=\"crayon-v\">OPTIONS<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">{<\/span> <span class=\"crayon-s\">&#8216;mode&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;SPARSE&#8217;<\/span> <span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\">Use SPARSE indexing for data that is sparse (every term\/column value has less than 5 matching keys). Indexing the created_at field in time series data (where there is typically few matching rows\/events per created_at timestamp) is a good use case. SPARSE indexing is primarily an optimization for range queries, especially large ranges that span large timespans.<\/p>\n<p dir=\"ltr\">To illustrate the use of the SPARSE index, create a table and insert some time series data:<\/p>\n<p dir=\"ltr\">\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70242178441167\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nCREATE TABLE cycling.comments (commenter text, created_at timestamp, comment text, PRIMARY KEY (commenter)); INSERT INTO cycling.comments (commenter, comment, created_at) VALUES (&#8216;John&#8217;, &#8216;Fantastic race!&#8217;, &#8216;2013-01-01 00:05:01.500&#8217;); INSERT INTO cycling.comments (commenter, comment, created_at) VALUES (&#8216;Jane&#8217;, &#8216;What a finish&#8217;, &#8216;2013-01-01 00:05:01.400&#8217;); INSERT INTO cycling.comments (commenter, comment, created_at) VALUES (&#8216;Mary&#8217;, &#8216;Hated to see the race end.&#8217;, &#8216;2013-01-01 00:05:01.300&#8217;); INSERT INTO cycling.comments (commenter, comment, created_at) VALUES (&#8216;Jonnie&#8217;, &#8216;Thankfully, it is over.&#8217;, &#8216;2013-01-01 00:05:01.600&#8217;);<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">TABLE <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">comments<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">commenter <\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">created_at <\/span><span class=\"crayon-v\">timestamp<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">comment <\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">PRIMARY <\/span><span class=\"crayon-e\">KEY<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">commenter<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">INSERT <\/span><span class=\"crayon-e\">INTO <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">comments<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">commenter<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">comment<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">created_at<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-e\">VALUES<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;John&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;Fantastic race!&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;2013-01-01 00:05:01.500&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">INSERT <\/span><span class=\"crayon-e\">INTO <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">comments<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">commenter<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">comment<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">created_at<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-e\">VALUES<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;Jane&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;What a finish&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;2013-01-01 00:05:01.400&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">INSERT <\/span><span class=\"crayon-e\">INTO <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">comments<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">commenter<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">comment<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">created_at<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-e\">VALUES<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;Mary&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;Hated to see the race end.&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;2013-01-01 00:05:01.300&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">INSERT <\/span><span class=\"crayon-e\">INTO <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">comments<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">commenter<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">comment<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">created_at<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-e\">VALUES<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;Jonnie&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;Thankfully, it is over.&#8217;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;2013-01-01 00:05:01.600&#8217;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0008 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5364\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-6.png\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-6.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-15.png 673w\" alt=\"\u0633\u0627\u0633\u06cc (SASI)\" width=\"512\" height=\"92\" title=\"\"><\/p>\n<p dir=\"ltr\">Find all the comments made before the timestamp 2013-01-01 00:05:01.500.<\/p>\n<p dir=\"ltr\">\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70245798622466\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cycling.comments WHERE created_at &lt; &#8216;2013-01-01 00:05:01.500&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-v\">cycling<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">comments <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">created_at<\/span> <span class=\"crayon-o\">&lt;<\/span> <span class=\"crayon-s\">&#8216;2013-01-01 00:05:01.500&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5363\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-7.png\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-7.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-16.png 660w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-17.png 675w\" alt=\"\" width=\"506\" height=\"64\" title=\"\"><\/p>\n<p dir=\"ltr\">This query returns all the results where created_at is found to be less than the timestamp supplied. The inequalities &gt;=, &gt; and &lt;= are all valid operators.<br \/>\nSPARSE indexing is used only for numeric data, so LIKE queries do not apply.<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\"><strong>Using analyzers<\/strong><\/p>\n<p dir=\"ltr\">Analyzers can be specified that will analyze the text in the specified column. The NonTokenizingAnalyzer is used for cases where the text is not analyzed, but case normalization or sensitivity is required. The StandardAnalyzer is used for analysis that involves stemming, case normalization, case sensitivity, skipping common words like \u201cand\u201d and \u201cthe\u201d, and localization of the language used to complete the analysis. Altering the table again to add a lengthier text column provides a window into the analysis.<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e70249849188769\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nALTER TABLE cyclist_name ADD comments text; UPDATE cyclist_name SET comments =&#8217;Rides hard, gets along with others, a real winner&#8217; WHERE id = fb372533-eb95-4bb4-8685-6ef61e994caa; UPDATE cyclist_name SET comments =&#8217;Rides fast, does not get along with others, a real dude&#8217; WHERE id = 5b6962dd-3f90-4c93-8f61-eabfa4a803e2; CREATE CUSTOM INDEX stdanalyzer_idx ON cyclist_name (comments) USING &#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217; WITH OPTIONS = { &#8216;mode&#8217;: &#8216;CONTAINS&#8217;, &#8216;analyzer_class&#8217;: &#8216;org.apache.cassandra.index.sasi.analyzer.StandardAnalyzer&#8217;, &#8216;analyzed&#8217;: &#8216;true&#8217;, &#8216;tokenization_skip_stop_words&#8217;: &#8216;and, the, or&#8217;, &#8216;tokenization_enable_stemming&#8217;: &#8216;true&#8217;, &#8216;tokenization_normalize_lowercase&#8217;: &#8216;true&#8217;, &#8216;tokenization_locale&#8217;: &#8216;en&#8217; };<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<p>1<\/p>\n<p>2<\/p>\n<p>3<\/p>\n<p>4<\/p>\n<p>5<\/p>\n<p>6<\/p>\n<p>7<\/p>\n<p>8<\/p>\n<p>9<\/p>\n<p>10<\/p>\n<p>11<\/p>\n<p>12<\/p>\n<p>13<\/p>\n<p>14<\/p>\n<p>15<\/p>\n<p>16<\/p>\n<p>17<\/p>\n<p>18<\/p>\n<p>19<\/p>\n<p>20<\/p>\n<p>21<\/p>\n<p>22<\/p>\n<p>23<\/p>\n<p>24<\/p>\n<p>25<\/p>\n<p>26<\/p>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e\">ALTER <\/span><span class=\"crayon-e\">TABLE <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">ADD <\/span><span class=\"crayon-e\">comments <\/span><span class=\"crayon-v\">text<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">UPDATE <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">SET <\/span><span class=\"crayon-v\">comments<\/span> <span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;Rides hard, gets along with others, a real winner&#8217;<\/span> <span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">id<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">fb372533<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">eb95<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">4bb4<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">8685<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">6ef61e994caa<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">UPDATE <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">SET <\/span><span class=\"crayon-v\">comments<\/span> <span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;Rides fast, does not get along with others, a real dude&#8217;<\/span> <span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-v\">id<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\">5b6962dd<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">3f90<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">4c93<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">8f61<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">eabfa4a803e2<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<p><span class=\"crayon-e\">CREATE <\/span><span class=\"crayon-e\">CUSTOM <\/span><span class=\"crayon-e\">INDEX <\/span><span class=\"crayon-e\">stdanalyzer_idx <\/span><span class=\"crayon-e\">ON <\/span><span class=\"crayon-e\">cyclist_name<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">comments<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-i\">USING<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.SASIIndex&#8217;<\/span><\/p>\n<p><span class=\"crayon-e\">WITH <\/span><span class=\"crayon-v\">OPTIONS<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">{<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;mode&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;CONTAINS&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;analyzer_class&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;org.apache.cassandra.index.sasi.analyzer.StandardAnalyzer&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;analyzed&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;true&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;tokenization_skip_stop_words&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;and, the, or&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;tokenization_enable_stemming&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;true&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;tokenization_normalize_lowercase&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;true&#8217;<\/span><span class=\"crayon-sy\">,<\/span><\/p>\n<p><span class=\"crayon-s\">&#8216;tokenization_locale&#8217;<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-s\">&#8216;en&#8217;<\/span><\/p>\n<p><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0009 seconds] --><\/p>\n<p dir=\"ltr\">This query will search for the presence of a designated string, using the analyzed text to return a result.<\/p>\n<p dir=\"ltr\">\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-5deb746e7024c755053693\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<p><textarea class=\"crayon-plain print-no\" readonly=\"readonly\" wrap=\"soft\" data-settings=\"dblclick\">&lt;br \/&gt;<br \/>\nSELECT * FROM cyclist_name WHERE comments LIKE &#8216;ride&#8217;;<\/textarea><\/p>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\"><\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<p><span class=\"crayon-e \">SELECT *<\/span> <span class=\"crayon-e\">FROM <\/span><span class=\"crayon-e\">cyclist_name <\/span><span class=\"crayon-e\">WHERE <\/span><span class=\"crayon-e\">comments <\/span><span class=\"crayon-i\">LIKE<\/span> <span class=\"crayon-s\">&#8216;ride&#8217;<\/span><span class=\"crayon-sy\">;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p dir=\"ltr\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5361\" src=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-8.png\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" srcset=\"https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-8.png 300w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-18.png 768w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-19.png 800w, https:\/\/afaghhosting.net\/blog\/wp-content\/uploads\/2019\/12\/d8a7d8b6d8a7d981d987-d8b4d8afd986-d988db8cda98daafdb8c-d8b3d8a7d8b3db8c-sasi-d8afd8b1-daa9d8a7d8b3d8a7d986d8afd8b1d8a7-d8a8d987-d985d986-20.png 931w\" alt=\"\" width=\"594\" height=\"95\" title=\"\"><\/p>\n<p dir=\"ltr\">This query returns all the results where ride is found either as an exact word or as a stem for another word \u2013 rides in this case.<\/p>\n<p>\u0645\u0646\u0628\u0639:<\/p>\n<p dir=\"ltr\">http:\/\/pp1230.github.io\/2015\/12\/26\/cassandra-lucene-index.html<\/p>\n<p dir=\"ltr\">https:\/\/docs.datastax.com\/en\/dse\/5.1\/cql\/cql\/cql_using\/useSASIIndex.html<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"hdKgLO1NPS\"><p><a href=\"https:\/\/www.stratio.com\/blog\/stratio-lucene-based-index-for-cassandra-now-plugin\/\" target=\"_blank\" rel=\"noopener\">Stratio\u2019s Lucene-based index for Cassandra is now a plugin<\/a><\/p><\/blockquote>\n<p>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0631\u0648\u0631 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0648 \u0645\u0634\u0627\u0648\u0631\u0647 &#8211; \u062b\u0628\u062a \u062f\u0627\u0645\u0646\u0647<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0646\u0645\u0627\u06cc\u0647 \u06af\u0630\u0627\u0631\u06cc \u0633\u0627\u0633\u06cc (SASI): \u0627\u0632 \u0646\u0633\u062e\u0647 3.4\u060c \u0645\u06cc\u00ad\u062a\u0648\u0627\u0646 \u0627\u0632 \u067e\u06cc\u0627\u062f\u0647\u00ad \u0633\u0627\u0632\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0627\u0632 \u0627\u0646\u062f\u06cc\u0633\u00ad\u0647\u0627\u06cc \u062b\u0627\u0646\u0648\u06cc\u0647 SSTable Attached Secondary Index (SASI) \u0628\u0647\u0631\u0647 \u0628\u0631\u062f. \u0628\u0631\u0627\u06cc \u0633\u062a\u0648\u0646\u00ad\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u067e\u06cc\u0627\u062f\u0647\u00ad \u0633\u0627\u0632\u06cc \u0633\u0627\u0633\u06cc (SASI)\u060c \u0627\u0646\u062f\u06cc\u0633 \u062b\u0627\u0646\u0648\u06cc\u0647 \u0645\u06cc\u00ad\u0634\u0648\u0646\u062f\u060c \u0645\u06cc\u00ad\u062a\u0648\u0627\u0646 \u062f\u0631 \u067e\u0631\u0633\u00ad\u0648\u062c\u0648\u0647\u0627 \u0627\u0632 \u0639\u0645\u0644\u06af\u0631\u0647\u0627\u06cc \u0646\u0627\u0645\u0633\u0627\u0648\u06cc (\u067e\u0631\u0633\u00ad\u0648\u062c\u0648\u06cc \u0645\u062d\u062f\u0648\u062f\u0647\u00ad\u0627\u06cc \u0627\u0632 \u0645\u0642\u0627\u062f\u06cc\u0631) \u0648 LIKE (\u0645\u0627\u0646\u0646\u062f SQL) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0646\u0648\u0639 \u067e\u06cc\u0627\u062f\u0647\u00ad \u0633\u0627\u0632\u06cc\u060c &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-13435","post","type-post","status-publish","format-standard","hentry","category-bigdata"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/13435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=13435"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/13435\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=13435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=13435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=13435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}