{"id":27878,"date":"2017-08-28T10:01:17","date_gmt":"2017-08-28T08:01:17","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27878"},"modified":"2017-08-28T10:01:17","modified_gmt":"2017-08-28T08:01:17","slug":"tntsearch-a-fully-featured-full-text-search-engine-written-in-php","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/08\/28\/tntsearch-a-fully-featured-full-text-search-engine-written-in-php\/","title":{"rendered":"TNTSearch &#8211; a fully featured full text search engine written in PHP"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/github.com\/teamtnt\/tntsearch\">TNTSearch<\/a> &#8211; a fully featured full text search engine written in PHP. \u00a0Here&#8217;s also a <a href=\"http:\/\/tnt.studio\/blog\/solving-the-search-problem-with-laravel-and-tntsearch\">blog post<\/a> that shows how to use it with the Laravel framework. \u00a0Which shouldn&#8217;t be too difficult to adjust for any other PHP framework.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>TNTSearch &#8211; a fully featured full text search engine written in PHP. \u00a0Here&#8217;s also a blog post that shows how to use it with the Laravel framework. \u00a0Which shouldn&#8217;t be too difficult to adjust for any other PHP framework.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"TNTSearch - a fully featured full text search engine written in PHP #WebDev #PHP #search #Laravel","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3549,38,335,1330],"keyring_services":[],"class_list":["post-27878","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-laravel","tag-php","tag-search","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28468,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/04\/08\/handling-amazon-sns-messages-with-php-lumen-and-cloudwatch\/","url_meta":{"origin":27878,"position":0},"title":"Handling Amazon SNS messages with PHP, Lumen and CloudWatch","author":"Leonid Mamchenkov","date":"April 8, 2018","format":false,"excerpt":"Gonzalo Ayuso throws a few snippets of code in the blog posts title \"Handling Amazon SNS messages with PHP, Lumen and CloudWatch\", which shows how to work with Amazon SNS\u00a0(Simple Notifications Service) and Amazon CloudWatch\u00a0(cloud and network monitoring solution) from PHP.\u00a0 The examples are based on the Lumen micro-framework, which\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29041,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/30\/php-countries-and-currencies\/","url_meta":{"origin":27878,"position":1},"title":"PHP: Countries and currencies","author":"Leonid Mamchenkov","date":"November 30, 2018","format":false,"excerpt":"Many software projects deal with the lists of countries and currencies.\u00a0 Some of the most common tasks include country an currency dropdowns, country flags next to the IP, or pre-filling country codes in phone numbers. All of that information is of course standardized and you often just need a library\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28182,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/11\/06\/object-graph-visualizing-php-objects\/","url_meta":{"origin":27878,"position":2},"title":"object-graph &#8211; visualizing PHP objects","author":"Leonid Mamchenkov","date":"November 6, 2017","format":false,"excerpt":"As you might know, I am a big fan of GraphViz.\u00a0 I've used numerous times for visualizing different parts of the project code and dependencies (see here and here for example). Today I came across a way to visualize PHP objects (not just classes) - object-graph library by Sebastian Bergmann,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/11\/object-graph-500x136.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28624,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/06\/11\/forget-db-a-simple-gdpr-inspired-tool-to-anonymise-confidential-database-data\/","url_meta":{"origin":27878,"position":3},"title":"forget-db &#8211; a simple GDPR inspired tool to anonymise confidential database data","author":"Leonid Mamchenkov","date":"June 11, 2018","format":false,"excerpt":"forget-db: A simple(ish) command line tool written in PHP 7.1 using Laravel Zero and Faker to help you anonymise\/pseudonymise data within your database to support protecting either sensitive information, or peoples right to be forgotten with GDPR compliance. The tool allows you to connect to either mysql, postgres, sqlite or\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26993,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/28\/deployer-deployment-tool-for-php\/","url_meta":{"origin":27878,"position":4},"title":"Deployer \u2014 Deployment tool for PHP","author":"Leonid Mamchenkov","date":"November 28, 2016","format":false,"excerpt":"Deployer is yet another tool for deploying PHP projects. \u00a0 It looks to have more similarities with Laravel Envoy and phake, than with Robo.li, of which I am a new and growing fan. \u00a0But I thought I'd throw it into the mix here, just in case I'll change my mind\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"deployer","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/11\/deployer.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27488,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/abuseio-open-source-abuse-management\/","url_meta":{"origin":27878,"position":5},"title":"AbuseIO &#8211; Open Source abuse management","author":"Leonid Mamchenkov","date":"April 9, 2017","format":false,"excerpt":"AbuseIO is an Open Source software for management of abuse reports. \u00a0It's like a specialized ticketing\/support system, which can automatically parse a variety of abuse notifications, file them, notify the team, and provide the tools to respond and close the incident. \u00a0In a nutshell: \u00a0 100% Free & Open Source\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/04\/abuse.io_-500x159.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27878"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27878\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27878"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}