{"id":203482,"date":"2021-03-16T16:00:08","date_gmt":"2021-03-16T13:00:08","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/"},"modified":"2021-03-16T16:00:08","modified_gmt":"2021-03-16T13:00:08","slug":"how-to-use-full-text-searches-in-mysql-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/","title":{"rendered":"#How to Use Full-Text Searches in MySQL \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a25470e362b1\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a25470e362b1\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Setting_Up_Full-Text_Search\" >Setting Up Full-Text Search<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Using_Full-Text_Searches\" >Using Full-Text Searches<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Ordering_By_Result_Relevance\" >Ordering By Result Relevance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Query_Expansion_Mode\" >Query Expansion Mode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Boolean_Mode\" >Boolean Mode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Configuring_Full-Text_Search\" >Configuring Full-Text Search<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-use-full-text-searches-in-mysql-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Use Full-Text Searches in MySQL \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4058\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/42e674981d86face4b1d85899021efe5\/p\/uploads\/2017\/07\/ee83c456.png\" alt=\"MySQL Logo\" width=\"1400\" height=\"600\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Full-Text Search is a database technique which will retrieve records even if they don\u2019t exactly match your search criteria. This enables rich natural language searching that feels more familiar.<\/p>\n<p>Searching for \u201cdatabase engine\u201d using a full-text search will return results containing the phrases \u201cdatabase,\u201d \u201cengine\u201d or \u201cdatabase engine\u201d. This resolves possible ambiguities in your search criteria, so rows like \u201cI have a database and an engine\u201d still show up.<\/p>\n<p>Simple searches in MySQL can be made using the <code>LIKE<\/code> operator. This is inefficient and limited in functionality. MySQL usually needs to perform a full-table scan to identify records matching your query.<\/p>\n<p>Full-text queries use a specially created index to improve performance. This also enables MySQL to keep track of the words within your dataset, facilitating the natural language search.<\/p>\n<h2 id=\"setting-up-full-text-search\"><span class=\"ez-toc-section\" id=\"Setting_Up_Full-Text_Search\"><\/span>Setting Up Full-Text Search<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You can only use full-text search with columns that have a full-text index. Use the <code>FULLTEXT<\/code> clause in <code>CREATE TABLE<\/code> statements to set this up when you seed your database schema. You can also use it with <code>ALTER TABLE<\/code> to add a search index to existing columns.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"sql\">\n<pre class=\"de1\"><span class=\"kw1\">CREATE<\/span> <span class=\"kw1\">TABLE<\/span> articles<span class=\"br0\">(<\/span>content TEXT<span class=\"sy0\">,<\/span> FULLTEXT <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span><span class=\"br0\">)<\/span>;\n\u00a0\n<span class=\"kw1\">ALTER<\/span> <span class=\"kw1\">TABLE<\/span> articles <span class=\"kw1\">ADD<\/span> FULLTEXT <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span>;<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>With the index in-place, you\u2019re ready to start querying your database.<\/p>\n<h2 id=\"using-full-text-searches\"><span class=\"ez-toc-section\" id=\"Using_Full-Text_Searches\"><\/span>Using Full-Text Searches<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Full-text searches start with a <code>WHERE<\/code> clause. You use <code>MATCH AGAINST<\/code> instead of <code>LIKE<\/code>. You need to indicate the indexed columns to match, as well as the query to search for.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"sql\">\n<pre class=\"de1\"><span class=\"kw1\">SELECT<\/span> <span class=\"sy0\">*<\/span> <span class=\"kw1\">FROM<\/span> articles <span class=\"kw1\">WHERE<\/span> <span class=\"kw1\">MATCH<\/span> <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span> AGAINST <span class=\"br0\">(<\/span><span class=\"st0\">'database engine'<\/span> <span class=\"kw1\">IN<\/span> <span class=\"kw1\">NATURAL<\/span> <span class=\"kw1\">LANGUAGE<\/span> MODE<span class=\"br0\">)<\/span>;<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This will perform a full-text search of the articles using the query <code>database engine<\/code>. By specifying <code>IN NATURAL LANGUAGE MODE<\/code>, MySQL is instructed to interpret the query literally, without processing it in any way. This is the default search mode if none is specified.<\/p>\n<h2 id=\"ordering-by-result-relevance\"><span class=\"ez-toc-section\" id=\"Ordering_By_Result_Relevance\"><\/span>Ordering By Result Relevance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>One of the advantages of full-text search is that it lets you order the returned records by relevance. This is not possible with a regular <code>LIKE<\/code> query. You can use a <code>MATCH ... AGAINST<\/code> clause as part of a SQL <code>SELECT<\/code>. The returned virtual column will contain a relevance score, from 0 to 1, indicating how closely the record matched the search query.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"sql\">\n<pre class=\"de1\"><span class=\"kw1\">SELECT<\/span> content<span class=\"sy0\">,<\/span> <span class=\"kw1\">MATCH<\/span> <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span> AGAINST <span class=\"br0\">(<\/span><span class=\"st0\">'database engine'<\/span><span class=\"br0\">)<\/span> <span class=\"kw1\">AS<\/span> relevance <span class=\"kw1\">FROM<\/span> articles <span class=\"kw1\">ORDER<\/span> <span class=\"kw1\">BY<\/span> relevance <span class=\"kw1\">DESC<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This query would return the most relevant results first. This helps your <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>lication meet user expectations of how natural language search systems should perform.<\/p>\n<p>MySQL computes search relevant scores by assessing several different factors. These include the number of records which match the query, as well as the number of times the query occurs within each record. A result with several exact matches for the query will rank higher than one which only contains part of the query.<\/p>\n<p>When using <code>MATCH ... AGAINST<\/code> in a <code>SELECT<\/code> statement, you don\u2019t need to repeat it in the <code>WHERE<\/code> clause. You could manually filter the results to include only records with a non-zero relevance score.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"sql\">\n<pre class=\"de1\"><span class=\"kw1\">SELECT<\/span> content<span class=\"sy0\">,<\/span> <span class=\"kw1\">MATCH<\/span> <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span> AGAINST <span class=\"br0\">(<\/span><span class=\"st0\">'database engine'<\/span><span class=\"br0\">)<\/span> <span class=\"kw1\">AS<\/span> relevance <span class=\"kw1\">FROM<\/span> articles <span class=\"kw1\">WHERE<\/span> relevance <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">0<\/span> <span class=\"kw1\">ORDER<\/span> <span class=\"kw1\">BY<\/span> relevance <span class=\"kw1\">DESC<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2 id=\"query-expansion-mode\"><span class=\"ez-toc-section\" id=\"Query_Expansion_Mode\"><\/span>Query Expansion Mode<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Natural language isn\u2019t the only supported full-text search mode. Query expansion mode is an alternative which helps widen the range of the search results. It automatically weights the search query against the most relevant terms.<\/p>\n<p>An expanded search begins by finding the records that contain a match for the query. Those records are then checked to identify the most relevant words. The database then runs <em>another<\/em> search, this time basing it on the relevant words instead of the original query. This usually results in more records being returned while maintaining an acceptable degree of relevance.<\/p>\n<p>Here\u2019s how you enable query expansion mode:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"sql\">\n<pre class=\"de1\"><span class=\"kw1\">SELECT<\/span> <span class=\"sy0\">*<\/span> <span class=\"kw1\">FROM<\/span> articles <span class=\"kw1\">WHERE<\/span> <span class=\"kw1\">MATCH<\/span> <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span> AGAINST <span class=\"br0\">(<\/span><span class=\"st0\">'database engine'<\/span> <span class=\"kw1\">WITH<\/span> QUERY EXPANSION<span class=\"br0\">)<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2 id=\"boolean-mode\"><span class=\"ez-toc-section\" id=\"Boolean_Mode\"><\/span>Boolean Mode<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The final full-text search mode is boolean mode. This lets you include boolean modifiers in your query. You can use this mode when you need advanced control over the matching logic.<\/p>\n<p>You can require a word to be present in each result by prefixing it with <code>+<\/code>. Use <code>-<\/code> to exclude results which contain the word. <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/fulltext-boolean.html\">Other operators<\/a> can be used to match parts of words, create sub-expressions and make words <em>reduce<\/em> the relevance score. The latter can be helpful when masking \u201cnoise\u201d terms. If you don\u2019t specify an operator, it\u2019s implied the word will be referenced in the query with <code>OR<\/code>.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"sql\">\n<pre class=\"de1\"><span class=\"kw1\">SELECT<\/span> <span class=\"sy0\">*<\/span> <span class=\"kw1\">FROM<\/span> articles <span class=\"kw1\">WHERE<\/span> <span class=\"kw1\">MATCH<\/span> <span class=\"br0\">(<\/span>content<span class=\"br0\">)<\/span> AGAINST <span class=\"br0\">(<\/span><span class=\"st0\">'+data* engine -sqlite'<\/span> <span class=\"kw1\">IN<\/span> <span class=\"kw1\">BOOLEAN<\/span> MODE<span class=\"br0\">)<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>This query would surface articles with at least one word starting with <code>data<\/code> where <code>sqlite<\/code> is not mentioned. Each result may or may not include the word <code>engine<\/code>.<\/p>\n<p>Boolean mode lets you construct powerful searches using your own logic. One caveat is it doesn\u2019t support search relevance scoring. This is the tradeoff in giving users the ability to make boolean searches. The result ranking may not align with human expectations.<\/p>\n<h2 id=\"configuring-full-text-search\"><span class=\"ez-toc-section\" id=\"Configuring_Full-Text_Search\"><\/span>Configuring Full-Text Search<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MySQL comes with several full-text configuration options which let you finetune how searches are conducted. Here\u2019s a few of the most important.<\/p>\n<ul>\n<li><strong><code>innodb_ft_min_token_size<\/code><\/strong> \u2013 Sets the minimum word length for indexed terms. Words with fewer characters than this value won\u2019t be added to the index so you won\u2019t be able to search them. The default value is <code>3<\/code>, which excludes extremely common words such as <code>a<\/code>, <code>an<\/code> and <code>I<\/code>. This setting applies to InnoDB tables; use <code>ft_min_word_len<\/code> for MyISAM.<\/li>\n<li><strong><code>innodb_ft_max_token_size<\/code><\/strong> \u2013 Similarly to <code>innodb_ft_min_token_size<\/code>, this sets the <em>maximum<\/em> length of indexed words. Longer words won\u2019t be searchable. Use <code>ft_max_word_len<\/code> for MyISAM tables.<\/li>\n<li><strong><code>innodb_ft_enable_stopword<\/code><\/strong> \u2013 This setting, on by default, lets you control whether MySQL should filter out \u201cstopwords\u201d. Stopwords are very commonly used words which could unduly influence search results. The default <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/fulltext-stopwords.html\">stopword list<\/a> contains 36 frequent phrases.<\/li>\n<li><strong><code>innodb_ft_user_stopword_table<\/code><\/strong> \u2013 You can set this value to the name of a database table which MySQL should source the stopword list from. This table must have a single <code>VARCHAR<\/code> column called <code>value<\/code>. Add your stopwords to exclude as records in this table.<\/li>\n<\/ul>\n<p>These settings are usually set in your MySQL server configuration file. The location varies by platform; it can often be found at <code>\/etc\/mysql\/my.cnf<\/code>. You\u2019ll need to restart the MySQL service after changing the settings.<\/p>\n<p>Once the server is back up, rebuild the full-text indexes for your table. You must do this so your data is reindexed using the current configuration. Otherwise, the previously indexed data will continue to be used.<\/p>\n<p>To reindex an InnoDB table, run <code>OPTIMIZE TABLE my_table<\/code>. For MyISAM tables, use <code>REPAIR TABLE my_table QUICK<\/code>. The search indexes will then be rebuilt so your configuration changes take effect.<\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MySQL Full-Text Search is enabled by adding a <code>FULLTEXT<\/code> index to your searchable fields. You then use <code>MATCH ... AGAINST<\/code> with one of three searching modes to get your results. Natural language queries return a search relevance score which you can use to rank your results.<\/p>\n<p>Full-text search offers more powerful search behaviour than a <code>LIKE<\/code> statement. It\u2019s also much more performant, particularly on large datasets, as all the text is indexed in advance.\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/10172\/how-to-use-full-text-searches-in-mysql\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Use Full-Text Searches in MySQL \u2013 CloudSavvy IT&#8221; Full-Text Search is a database technique which will retrieve records even if they don\u2019t exactly match your search criteria. This enables rich natural language searching that feels more familiar. Searching for \u201cdatabase engine\u201d using a full-text search will return results containing the phrases \u201cdatabase,\u201d \u201cengine\u201d&#8230;<\/p>\n","protected":false},"author":1,"featured_media":203483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2017\/07\/ee83c456.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-203482","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/203482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=203482"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/203482\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/203483"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=203482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=203482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=203482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}