• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1050
  • Last Modified:

Short words in MSSQL full text search. Need them included!

I've spent several hours searching on line to find the answer to this one. Seems to me like is should be easy to get the answer, but the on line sources are spread out and unclear. So the solution I'm looking for must include fairly specific directions, not just "edit your stop word list," which I can't find anyway.

Using MS Server Express 2008 with a full-text search. My particular database REQUIRES that users be able to search for words as short as three characters--it's a specialized database and there are few "noise" words. Trouble is, as configured, full text search query will only bring up words 5 characters in length or longer.

Much of the on line documentation is still talking about "stop words," which seem to have been replaces by "noise words." Other information is just not clear and I'm pretty frustrated.

So:  Is there a place in configuring or addressing the full text search (MSSQL) where minimum word lengths can be specified?

If not, do all of the short words I want to search have to be manually entered into a list somewhere? If so, where? This would not be too inconvenient because the data is static and won't need much maintenance.

Are the parts of the SQL query language that I can use to "override" the minimum word length on the fly?

  • 3
  • 2
  • 2
1 Solution
Raja Jegan RSQL Server DBA & ArchitectCommented:
>> Using MS Server Express 2008 with a full-text search

If you have SQL Server Express 2008, then you will not have Full Text Feature Functionality..
If you have SQL Server Express 2008 with Advanced Services, then you would be having Full Text Search Functionality available..

Kindly confirm so that we can proceed further..
digitronAuthor Commented:
Sorry to not have indicated that, yes, I have the Advanced Services version. I should also point out that my full text catalog works properly except I need to have users search on words as short as three characters. Otherwise, the full-text feature works as I need.

Thanks. JS
Raja Jegan RSQL Server DBA & ArchitectCommented:
Can you kindly post your queries so that I might get a clear picture on it..
[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

Anthony PerkinsCommented:
>>Those who responded clearly have no ability to help.<<
Nice one.  Are you always this courteous?
digitronAuthor Commented:
Don't know if my last message got included, so I'm resending. I am indeed sorry to use language that seemed much too strong--I did not mean it the way it sounded. I'm just frustrated at not finding an answer to my question. The first response I recieved explained why full-text search would not work if not set up. But that was not my question. My next message explained that my full-text search works fine in my application except that I want it to include short words.

My related question was asking if there is a place to specify minimum word lengths to include in the search result. To these questions, you kindly offered to look at my code, but there is nothing remarkable about it: It works properly, but I would like to know if there are ways to specify the response from the search engine--speciifically to include short words.

What I'm hoping for is just a, "Yes, there is a place. Look here...." or "No, you must use an exceptions word list..." or "You control the word length property in a SQL command like this..." or something like that.

I have spent several hours reading everything I can find on the topic, and the information I've found seems to always be on a deeper level than I'm looking for. I'm just looking for the very basics of controlling what word lengths will be returned. There's LOTS of documentation on how to specify how a search string will be used in a search, but nothing helpful on my question.

Again, I'm very sorry if I seemed rude. I just meant that it appears that there is no direct answer to my question and that nobody is on the verge of answering it.

Anthony PerkinsCommented:
Fair enough.

First perhaps I should clarify something:
>>Much of the on line documentation is still talking about "stop words," which seem to have been replaces by "noise words." <<
Actually it is the other way around. Starting with SQL Server 2005 "Stopwords" replace "noise words".

Also, starting with SQL Server 2008, the noise-word files are no longer used.

In view of your requirements, may I suggest the following steps:
1. Drop all your stop words.  
2. Repopulate your Full-Text Catalog
3. Retry.

I also suggest you read up on the following articles:
Stopwords and Stoplists

Word Breakers and Stemmers
digitronAuthor Commented:
Thanks for sticking with me on this. Although I had previously seen the two linked pages you pointed me to, they were confusing to me considering all the other information I found that was not helping.

Since you specifically pointed me to these, I figured that concentrating my efforts on these pages would help, and I have indeed managed to start working with these word lists.


Featured Post

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

  • 3
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now