Recommended Free Tools
Use an InnoDB FULLTEXT index and query it with MATCH() ... AGAINST(). Natural-language mode ranks matches by term significance; Boolean mode lets you require, exclude, quote, and prefix-search terms. On Ubuntu, install MySQL with APT, verify the service, configure the parser and token rules in /etc/mysql, and rebuild every affected index whenever those rules change.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
What MySQL full-text search does differently
A query such as LIKE '%ubuntu%' checks whether a character sequence appears in a value. It does not produce a relevance score, understand which words are unusually informative, or provide operators for required and excluded terms. MySQL full-text search instead searches a defined collection of indexed text columns. The collection is covered by a FULLTEXT index, and MATCH(title, body) AGAINST (...) evaluates the query against that collection.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
That distinction matters for an Ubuntu application with many articles, posts, tickets, or documentation pages. A full-text index can rank rows so the most useful matches appear first, while Boolean mode can make the application’s intent explicit. It also introduces rules that explain many apparently empty result sets: short words may not be indexed, stopwords may be omitted, and an index retains its old tokenization rules until it is rebuilt.
Install and verify MySQL on Ubuntu
Install the server package
- Open a terminal on the Ubuntu host.
- Run
sudo apt install mysql-server. This is the installation command in Canonical’s Ubuntu Server documentation. - Check that the daemon is running with either
sudo service mysql statusorsystemctl status mysql.
If the status command reports that the service is stopped, start it with your normal Ubuntu service-management procedure before attempting schema or index work. The package and the MySQL APT repository keep server configuration under /etc/mysql.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Find the active option files before editing
Do not assume that the first configuration file you find is the one MySQL reads last. Run mysqld --verbose --help to inspect the default option-file locations and include order. Put site-specific server settings in the package’s included server configuration file rather than modifying a generated or package-managed file that an upgrade could replace. Record the active settings before changing them.
Create an indexed search collection
Index exactly the columns that the application will pass to MATCH(). The following table stores an article title and body in InnoDB and creates one composite full-text index over both fields:
CREATE TABLE articles (
id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
body TEXT NOT NULL,
FULLTEXT KEY ft_articles_title_body (title, body)
) ENGINE=InnoDB;
The column list in MATCH(title, body) must describe the same indexed collection. If the query names a different set of columns from the FULLTEXT index, it will not behave as the intended indexed search. Keep the index name explicit so later maintenance, including a drop-and-recreate operation, is unambiguous.
Use natural-language mode for ranked search
Natural-language mode is the default behavior of MATCH() ... AGAINST(); MySQL’s manual also names it explicitly with the IN NATURAL LANGUAGE MODE modifier. MySQL gives rarer terms more weight and common terms less weight, producing a relevance value instead of treating every occurrence as equal.
SELECT id, title,
MATCH(title, body) AGAINST (? IN NATURAL LANGUAGE MODE) AS score
FROM articles
WHERE MATCH(title, body) AGAINST (? IN NATURAL LANGUAGE MODE) > 0
ORDER BY score DESC;
Bind the same user query to both parameter markers through your database driver. The first occurrence supplies the displayed score; the second filters out rows with no positive relevance. Ordering by the score places the strongest matches first. Use a prepared statement rather than concatenating untrusted text into SQL, and keep the search string as data supplied to the driver.
When natural-language mode is the right default
- Readers enter ordinary sentences or several descriptive words.
- You want relevance-ranked results without exposing search syntax.
- Common words should contribute less than unusual words.
- The interface can explain that a query containing only ignored words may produce no matches.
Natural-language mode is a ranking system, not a substring search. A search for a fragment inside a longer word is not equivalent to a full-text token match. Token boundaries, minimum length, and stopword rules determine what can contribute to the score.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Use Boolean mode for explicit search control
Boolean mode is appropriate when the user or application needs operators. This example requires both ubuntu and mysql, excludes windows, searches for the phrase full text, and preserves a trailing prefix with an asterisk:
SELECT id, title
FROM articles
WHERE MATCH(title, body) AGAINST ('+ubuntu +mysql -windows "full text"*' IN BOOLEAN MODE);
The operators in this expression have distinct jobs:
+requires a term to be present.-excludes a term.- Quotation marks group words as a phrase.
*keeps a trailing prefix from being stripped, allowing prefix-style matching for the preceding token or phrase according to Boolean parser rules.
Boolean mode is also useful for common terms that natural-language scoring can suppress in MyISAM. MySQL documents that Boolean mode does not observe the MyISAM 50-percent threshold. That exception does not remove InnoDB’s minimum-token or stopword rules; terms still must be indexed under the configuration used to build the collection.
Natural-language and Boolean mode compared
| Aspect | Natural-language mode | Boolean mode |
|---|---|---|
| Primary purpose | Rank ordinary queries by term significance. | Apply explicit inclusion, exclusion, phrase, and prefix operators. |
| Relevance score | Returns a relevance value that can be selected and used for ordering. | Usually used as a match predicate; the application controls whether and how it exposes scores. |
| Common terms | Common words receive less weight and can contribute little or nothing under engine rules. | Operators provide direct control; on MyISAM, Boolean mode does not apply the 50-percent common-term threshold. |
| Phrase search | No operator in the basic natural-language query shown here. | Quotation marks form a phrase. |
| Prefix behavior | No wildcard operator in the basic natural-language query shown here. | An asterisk can prevent a trailing prefix from being stripped. |
| Best interface | A relevance-ranked search box for natural wording. | An advanced search syntax, filters, or a query builder that can generate operators. |
Why a search can return no rows
The word is shorter than the indexed minimum
For InnoDB full-text indexes, the default minimum indexed word length is three characters. A two-character code such as AI, UK, or an internal product code is therefore omitted by default. A query containing only that token has nothing in the index to match.
MyISAM has a different default: the minimum word length is four characters. Do not diagnose an InnoDB table using the MyISAM value, or vice versa.
The word is a stopword
MySQL omits words in its stopword list. InnoDB stopword behavior is controlled by innodb_ft_enable_stopword, innodb_ft_server_stopword_table, and innodb_ft_user_stopword_table. MyISAM uses ft_stopword_file. A common word can therefore disappear even when it is longer than the minimum token size.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
The index was built with old settings
Changing a token-size or stopword variable does not rewrite terms already stored in an existing full-text index. MySQL’s tuning documentation requires rebuilding every affected FULLTEXT index after those variables change. Until that rebuild finishes, searches continue to reflect the previous rules.
The query and index collections differ
Verify that the columns in MATCH() are the columns covered by the full-text index. Also verify that the application is querying the intended table and that the index was created on the server handling the request, not only on a separate build or development server.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →The parser does not fit the language
The built-in parser identifies words using delimiters such as whitespace. Chinese, Japanese, and Korean text commonly does not separate words with spaces, so a conventional word parser can produce unusable tokens and empty searches. Use the ngram parser for that content instead.
The query is made only of ignored terms
Natural-language scoring cannot return a positive relevance value when every query token was removed as too short or as a stopword. In Boolean mode, adding an operator does not resurrect a token that was never indexed.
Index two-character terms safely
Change the InnoDB token-size setting
To index two-character terms in InnoDB, add this setting to the active [mysqld] configuration:
[mysqld]
innodb_ft_min_token_size=2
Restart MySQL when the option requires a restart. Confirm the running server is using the intended value before rebuilding. Keep a record of the old setting so a rollback or replica change can reproduce the previous behavior.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Rebuild every affected index
For the example table, rebuild the collection with:
ALTER TABLE articles
DROP INDEX ft_articles_title_body,
ADD FULLTEXT KEY ft_articles_title_body (title, body);
Apply the same configuration consistently on every server that builds or serves the index. Plan the operation as a migration: schedule a maintenance window appropriate to the table size, monitor the rebuild, and prevent one server from using a different token-size or stopword policy than the others.
Test hits and false positives
After the rebuild, test representative two-character queries, ordinary three-or-more-character words, stopword cases, and combinations of both. Check expected hits as well as false positives. Lowering the minimum token size makes more short codes searchable, but it also increases the number of indexed tokens and can make ambiguous abbreviations match more rows.
Configure stopwords deliberately
First decide whether the application needs MySQL’s default stopword behavior. If words that are currently ignored are meaningful in your domain, choose an InnoDB stopword configuration using the documented server or user stopword-table variables. If you disable or replace stopwords, make the choice consistently across all index-building and query-serving servers.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsChanging a stopword variable is not complete until every affected full-text index is rebuilt. Keep the configuration change and the index rebuild in the same deployment plan, then run regression searches for terms that were previously suppressed and for ordinary terms that should remain stable.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Choose the parser for the language
Built-in parser
The built-in parser is suited to text whose words are separated by delimiters such as spaces. It works with the ordinary InnoDB minimum-token and stopword settings described above. For languages that use whitespace segmentation, it is the simpler choice and avoids ngram-specific tuning.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
ngram parser for Chinese, Japanese, and Korean
Create an ngram-indexed collection by specifying the parser on the index:
CREATE FULLTEXT INDEX ft_cjk ON documents (content) WITH PARSER ngram;
MySQL documents a default ngram_token_size of 2, producing bigrams, with a configurable range from 1 through 10. The ngram parser ignores the ordinary minimum-word-length variables, so changing innodb_ft_min_token_size will not tune an ngram index. Set and test ngram_token_size for the language and search behavior you need, then rebuild the ngram index after changing it.
Built-in parser and ngram parser compared
| Aspect | Built-in parser | ngram parser |
|---|---|---|
| Segmentation | Finds words using delimiters such as whitespace. | Splits text into fixed-size character ngrams. |
| Primary use | Languages with recognizable word boundaries. | Chinese, Japanese, Korean, and other text where spaces do not reliably separate words. |
| Token-size setting | InnoDB uses innodb_ft_min_token_size; the default minimum is three characters. |
Uses ngram_token_size, default 2, configurable from 1 through 10. |
| Interaction with ordinary minimum-length variables | Those variables apply. | The ngram parser ignores the ordinary minimum-word-length variables. |
| Index design consequence | Tokens correspond to parsed words. | Tokens overlap across text, so index size and matching behavior depend strongly on the chosen ngram size. |
InnoDB and MyISAM differences that affect search
| Feature | InnoDB | MyISAM |
|---|---|---|
| Default minimum indexed word length | Three characters. | Four characters. |
| Stopword controls | innodb_ft_enable_stopword, innodb_ft_server_stopword_table, and innodb_ft_user_stopword_table. |
ft_stopword_file. |
| Common-term behavior | Use the InnoDB token and stopword rules in effect when the index was built. | Natural-language searches have a 50-percent common-term limitation; Boolean mode does not observe that MyISAM threshold. |
| Table definition in this guide | The example uses ENGINE=InnoDB. |
Not used by the example schema. |
Choose the storage engine for the application’s broader requirements, not only for one query. If the table is InnoDB, troubleshoot with InnoDB variables and rebuild procedures. If an older MyISAM table is retained, apply its separate minimum-length, stopword, and common-term rules rather than copying an InnoDB configuration.
A practical deployment and troubleshooting checklist
- Confirm the service. Run
sudo service mysql statusorsystemctl status mysqland verify you are connected to the intended Ubuntu server. - Confirm configuration order. Use
mysqld --verbose --helpto inspect option-file includes and place site-specific settings in the active included server configuration under/etc/mysql. - Confirm the schema. Check that the target table has a
FULLTEXTindex covering every column named inMATCH(). - Classify the missing term. Is it shorter than the engine’s minimum, a stopword, a CJK segment that needs ngram parsing, or a prefix that requires Boolean syntax?
- Check the mode. Use natural-language mode for relevance ranking; use Boolean mode when the query needs required, excluded, phrase, or prefix operators.
- Check the running values. Confirm the server’s token-size, stopword, and, where relevant, ngram settings rather than relying on an edited file that may not have been loaded.
- Rebuild after configuration changes. Drop and recreate each affected full-text index, including indexes on other tables that use the changed policy.
- Test both success and failure cases. Run representative long words, two-character codes, stopwords, phrases, prefixes, and CJK queries. Record which results are expected before releasing the change.
Designing the search experience around these rules
Keep ordinary users in natural language
For a conventional search box, bind the entered text to the natural-language query shown earlier and sort by its score. Explain an empty result in terms users can understand: a query may contain only very short or ignored words. Do not silently promise substring behavior that full-text tokenization does not provide.
Expose Boolean syntax only when it is useful
Advanced users can benefit from operators, but a public search field should document what +, -, quotation marks, and * mean before accepting them. If the interface generates Boolean expressions itself, validate each term and operator in the application and bind the resulting search value safely.
Use separate indexes when language rules differ
A collection intended for whitespace-delimited text and a collection intended for CJK ngrams have different tokenization assumptions. Create the appropriate index for each content field or language-specific table, and document which parser and token-size setting produced it so future rebuilds are reproducible.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick Recap
Key takeaways
- Install MySQL on Ubuntu with
sudo apt install mysql-server, verify the daemon, and keep site-specific configuration under the package’s included files in/etc/mysql. - Create a
FULLTEXTindex and query it withMATCH() ... AGAINST(); aLIKEpattern does not provide full-text relevance ranking. - Natural-language mode ranks by term significance. Boolean mode supplies required, excluded, phrase, and trailing-prefix controls.
- InnoDB ignores words shorter than three characters by default and applies stopwords; MyISAM’s default minimum is four characters.
- Changing token-size or stopword settings requires rebuilding every affected full-text index.
- Use
WITH PARSER ngramfor CJK text and tunengram_token_size, whose default is 2 and whose documented range is 1 through 10.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




