- In the extension bar, click the AdBlock Plus icon
- Click the large blue toggle for this website
- Click refresh
- In the extension bar, click the AdBlock icon
- Under "Pause on this site" click "Always"
- In the extension bar, click on the Adguard icon
- Click on the large green toggle for this website
- In the extension bar, click on the Ad Remover icon
- Click "Disable on This Website"
- In the extension bar, click on the orange lion icon
- Click the toggle on the top right, shifting from "Up" to "Down"
- In the extension bar, click on the Ghostery icon
- Click the "Anti-Tracking" shield so it says "Off"
- Click the "Ad-Blocking" stop sign so it says "Off"
- Refresh the page
- In the extension bar, click on the uBlock Origin icon
- Click on the big, blue power button
- Refresh the page
- In the extension bar, click on the uBlock icon
- Click on the big, blue power button
- Refresh the page
- In the extension bar, click on the UltraBlock icon
- Check the "Disable UltraBlock" checkbox
- Please disable your Ad Blocker
- Disable any DNS blocking tools such as AdGuardDNS or NextDNS
- Disable any privacy or tracking protection extensions such as Firefox Enhanced Tracking Protection or DuckDuckGo Privacy.
If the prompt is still appearing, please disable any tools or services you are using that block internet ads (e.g. DNS Servers, tracking protection or privacy extensions).
Question
+Nik Louch Subscriber²
I am writing a search tool to search our product inventory. The relevant parts of the database structure are:
TABLE products
--product_ID (integer)
--product_name (varchar50)
--product_shortDescription (varchar255)
--product_MRNumber (varchar50)
TABLE productDescriptions
--description_ID (integer)
--product_ID (integer)
--description_text (text)
TABLE productReviews
--review_ID (integer)
--product_ID (integer)
--review_text (text)
The JOINs are kinda obvious, but the products table JOINS against both productDescriptions and productReviews on the product_ID field. Currently this is a one-to-one relationship (reviews will become one to many later, will add a user_ID field and have many reviews by many users against a single product - but that is not for now).
The fields I want to search on are:
products.product_name
products.product_shortDescription
products.product_MRNumber
productDescriptionsdescription_text
productReviewsreview_text
I have performed the following to create the FULLTEXT indices, all of which returned no errors:
However, things are NOT going well...
Firstly, if I perform the following, I get an error "Can't find FULLTEXT index matching the column list":
My GUESS is that this is down to the product_shortDescription field not being TEXT but rather VARCHAR - so no FULLTEXT can actually be applied? If so, suggestions appreciated. This shortDescription is just a very short one line description used more as a quick identifier than a full-on description.
Secondly, I am finding that certain searches are producing no results when they should be returning at least one item. For example, the following returns an empty set:
whereas this returns 7 rows:
What am I doing wrong? I would appreciate any help - sorry if I come across "noob" - I have used FULLTEXT before in MS SQL, but not within MySql...
Link to comment
https://www.neowin.net/forum/topic/844252-mysql-fulltext-across-multiple-tables/Share on other sites
9 answers to this question
Recommended Posts