Menu
News
All News
Dungeons & Dragons
Level Up: Advanced 5th Edition
Pathfinder
Starfinder
Warhammer
2d20 System
Year Zero Engine
Industry News
Reviews
Dragon Reflections
White Dwarf Reflections
Columns
Weekly Digests
Weekly News Digest
Freebies, Sales & Bundles
RPG Print News
RPG Crowdfunding News
Game Content
ENterplanetary DimENsions
Mythological Figures
Opinion
Worlds of Design
Peregrine's Nest
RPG Evolution
Other Columns
From the Freelancing Frontline
Monster ENcyclopedia
WotC/TSR Alumni Look Back
4 Hours w/RSD (Ryan Dancey)
The Road to 3E (Jonathan Tweet)
Greenwood's Realms (Ed Greenwood)
Drawmij's TSR (Jim Ward)
Community
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Resources
Wiki
Pages
Latest activity
Media
New media
New comments
Search media
Downloads
Latest reviews
Search resources
EN Publishing
Store
EN5ider
Adventures in ZEITGEIST
Awfully Cheerful Engine
What's OLD is NEW
Judge Dredd & The Worlds Of 2000AD
War of the Burning Sky
Level Up: Advanced 5E
Events & Releases
Upcoming Events
Private Events
Featured Events
Socials!
EN Publishing
Twitter
BlueSky
Facebook
Instagram
EN World
BlueSky
YouTube
Facebook
Twitter
Twitch
Podcast
Features
Top 5 RPGs Compiled Charts 2004-Present
Adventure Game Industry Market Research Summary (RPGs) V1.0
Ryan Dancey: Acquiring TSR
Q&A With Gary Gygax
D&D Rules FAQs
TSR, WotC, & Paizo: A Comparative History
D&D Pronunciation Guide
Million Dollar TTRPG Kickstarters
Tabletop RPG Podcast Hall of Fame
Eric Noah's Unofficial D&D 3rd Edition News
D&D in the Mainstream
D&D & RPG History
About Morrus
Log in
Register
What's new
Search
Search
Search titles only
By:
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Menu
Log in
Register
Install the app
Install
Community
Meta - Forums About Forums
Meta
Can the Search function PLEASE allow 3 letter words?
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Psionicist" data-source="post: 1368192" data-attributes="member: 1874"><p>Oh...</p><p></p><p>Please note. The search index is not a small list of all the words written in all the 1200 000 posts here... It is a list of post id's that contain these words!</p><p></p><p>The ENW search index is most certainly 15 million rows or larger. Please do not tamper with the search index unless it's absolutely necessarily. A complete rebuild of the search index will probably take several hours and when it does, the server will go <em>down</em>.</p><p></p><p>There are no other way to include these short words mentioned here than to rebuild the search index due to the nature of the message board software.</p><p></p><p>Allow me to explain:</p><p></p><p>----</p><p></p><p>The search function consists of two tables in the database. Think of a table as a two-dimensional array, such as Excel spreadsheet.</p><p></p><p>First we have the "word table" (the name of this particular table), a table of all the words that exists in the database. This table probably has an "id" field and a "word" field. The word table is probably a couple of thousand rows, and will perhaps look like this:</p><p></p><p>[code]</p><p>the word table</p><p></p><p>+-------+-----------------+</p><p>| id | word |</p><p>+-------+-----------------+</p><p>| ... | ... |</p><p>| 1091 | crawl |</p><p>| 1092 | claustrophobic |</p><p>| 1093 | bovd |</p><p>| 1094 | monte |</p><p>| ... | ... |</p><p>+-------+-----------------+[/code]</p><p></p><p>Whenever you post a new thread, the forum software will go through every word in the post and check if it exists and the word table. If it doesnt, it will add itself to the end of the list, say, now when I write "goonsnargish" it will be included in the word list because noone has probably mentioned it before.</p><p></p><p>Do you think that's bad? Then enter the "search index" (as it's often called). The search index is a table of two fields (perhaps three), one field is the "post id" and the other is the "word id".</p><p></p><p>Lets assume this post is postid 1509509. When I press "submit reply" button the the search index will update itself.</p><p></p><p>Consider the following short sentence: "All of monte cooks base are belong to piratecat". Assume "monte" is word 1094 (look at the word table below), "cooks" is word 10944, "base" is word 3, "belong" is word 1998 and "piratecat" is word 13, the search table will add this info to the end of the list:</p><p></p><p>[code]+----------+-----------+</p><p>| postid | wordid |</p><p>+----------+-----------+</p><p>| 1509509 | 1094 |</p><p>| 1509509 | 10944 |</p><p>| 1509509 | 3 |</p><p>| 1509509 | 1998 |</p><p>| 1509509 | 13 |</p><p>+----------+-----------+[/code]</p><p></p><p>Think about it. The average post here is probably some hundred words. That's why the search index is several million rows!</p><p></p><p>Okay, this is actually not so bad as it sounds because it makes the forum search very smooth, there is simply no better way to do it.</p><p></p><p>But... Here is our problem: The search index updates itself when you post a reply or write a new thread. That is, every search index begins at zero rows and grows as more posts are added to the database. After two thousand posts the search index has updated itself two thousand times. There are about 1200000 posts here at ENW, the search index has grown for a couple of years and has updated itself a million times.</p><p></p><p>Now... There's "rebuilding".</p><p></p><p>See, whenever you update the rules of the search indexing (such as only words of four letters or longer are added), the search index (and the word table) gets cluttered with words that shouldn't be there. If it once was okay with indexing two letter words and you suddenly change this to four letter words, the word index will still include the two and three letter words added before you changed the rules. So will the search index.</p><p></p><p>When Eric added the word "DM" to the word table, new post with the word will be added to the search index. However, older posts will not.</p><p></p><p>That's when you rebuild the index. Think of it as removing the search index and word index completely, all 20 million rows or so. Now, the forum software will begin at the first post in the database (lets assume this is post 1) and post after post update the word index and search index until all words from all the 1200000 has been added.</p><p></p><p>Resource heavy? Indeed. In fact, the index will become incredibly unstable and might corrupt itself if someone posts something during the update process.</p><p></p><p>So.. Please be careful.</p></blockquote><p></p>
[QUOTE="Psionicist, post: 1368192, member: 1874"] Oh... Please note. The search index is not a small list of all the words written in all the 1200 000 posts here... It is a list of post id's that contain these words! The ENW search index is most certainly 15 million rows or larger. Please do not tamper with the search index unless it's absolutely necessarily. A complete rebuild of the search index will probably take several hours and when it does, the server will go [i]down[/i]. There are no other way to include these short words mentioned here than to rebuild the search index due to the nature of the message board software. Allow me to explain: ---- The search function consists of two tables in the database. Think of a table as a two-dimensional array, such as Excel spreadsheet. First we have the "word table" (the name of this particular table), a table of all the words that exists in the database. This table probably has an "id" field and a "word" field. The word table is probably a couple of thousand rows, and will perhaps look like this: [code] the word table +-------+-----------------+ | id | word | +-------+-----------------+ | ... | ... | | 1091 | crawl | | 1092 | claustrophobic | | 1093 | bovd | | 1094 | monte | | ... | ... | +-------+-----------------+[/code] Whenever you post a new thread, the forum software will go through every word in the post and check if it exists and the word table. If it doesnt, it will add itself to the end of the list, say, now when I write "goonsnargish" it will be included in the word list because noone has probably mentioned it before. Do you think that's bad? Then enter the "search index" (as it's often called). The search index is a table of two fields (perhaps three), one field is the "post id" and the other is the "word id". Lets assume this post is postid 1509509. When I press "submit reply" button the the search index will update itself. Consider the following short sentence: "All of monte cooks base are belong to piratecat". Assume "monte" is word 1094 (look at the word table below), "cooks" is word 10944, "base" is word 3, "belong" is word 1998 and "piratecat" is word 13, the search table will add this info to the end of the list: [code]+----------+-----------+ | postid | wordid | +----------+-----------+ | 1509509 | 1094 | | 1509509 | 10944 | | 1509509 | 3 | | 1509509 | 1998 | | 1509509 | 13 | +----------+-----------+[/code] Think about it. The average post here is probably some hundred words. That's why the search index is several million rows! Okay, this is actually not so bad as it sounds because it makes the forum search very smooth, there is simply no better way to do it. But... Here is our problem: The search index updates itself when you post a reply or write a new thread. That is, every search index begins at zero rows and grows as more posts are added to the database. After two thousand posts the search index has updated itself two thousand times. There are about 1200000 posts here at ENW, the search index has grown for a couple of years and has updated itself a million times. Now... There's "rebuilding". See, whenever you update the rules of the search indexing (such as only words of four letters or longer are added), the search index (and the word table) gets cluttered with words that shouldn't be there. If it once was okay with indexing two letter words and you suddenly change this to four letter words, the word index will still include the two and three letter words added before you changed the rules. So will the search index. When Eric added the word "DM" to the word table, new post with the word will be added to the search index. However, older posts will not. That's when you rebuild the index. Think of it as removing the search index and word index completely, all 20 million rows or so. Now, the forum software will begin at the first post in the database (lets assume this is post 1) and post after post update the word index and search index until all words from all the 1200000 has been added. Resource heavy? Indeed. In fact, the index will become incredibly unstable and might corrupt itself if someone posts something during the update process. So.. Please be careful. [/QUOTE]
Insert quotes…
Verification
Post reply
Community
Meta - Forums About Forums
Meta
Can the Search function PLEASE allow 3 letter words?
Top