SQL Server has a mechanism that discards commonly occurring strings that do not help the search. These discarded strings are called stop words or noise words. During index creation, the Full-Text Engine omits stop words from the full-text index. This means that full-text queries do not search on stop words.
A stop word can be a word with meaning in a specific language, or it can be a token that does not have linguistic meaning. For example, in the English language, words such as "a," "and," "is," and "the" are left out of the full-text index since they are known to be useless to a search.
Some screens within Momentus Enterprise which use a full-text search include Search Accounts, Search Contacts and Search Events. For example, searching for an event with the description “All About Science” by just searching for “All About” returns all accounts as both “All” and “About” are noise words.
A list of noise words are included in the attached document. Noise words are not maintained by Momentus. The noise words are from SQL and will change based on the SQL language.
Comments
5 comments
Hi there,
is it correct, that any string with a noise word in it Returns nothing?
ie.: "all about science" or "council of nurses"
Michael
0 upvotes
Hi Michael,
If you were to search for only "all about" then the search will return all accounts since it won't recognize "all" or "about" and will see it as a no search value being entered. However, if you search for "all about science" then you will get results returned that have "science" in them. In the case of "council of nurses," if you search for "council of," you will get results which contain "council."
I'll update the article to be more clear regarding the search results with only noise words returning everything.
Thanks,
Maggie
0 upvotes
Hi Maggie,
unfortunately thats not quite the way it works. At least in my Environment I will get no results as Long as a noise word is included in the search. In the case of "council of nurses", if you search for "council of", you will get no results! How can I adjust my Environment to work it the way you describe?
cheers
Michael
0 upvotes
Hi Michael,
I am sorry you are still having issues here. I would like you to create a ticket for our EMEA Support Team so we can have a closer look at your environment to find a solution.
Thanks,
Fabienne
0 upvotes
Hello,
this problem still exists in v20.93 and v20.94.
When we search for "night of the graduates", there will be no result even when the event with exactly the same event name exists. This makes our users believe the event has not been entered yet and they add a duplicate. With the next search, they can not find it and enter the next duplicate.
Then compare it to searching an account name which contains a ":" (colon): the results show all accounts that match to the characters of the search phrase behind the colon.
E.G.: search for "m:con" and you will get all accounts matching with "con".
Imagine our end user training:
- if you are searching for an account or an event that does not contain "noise words", the search will be fine
- if it contains a noise word, the result will be differently wrong (see examples above).
- before you search: please compare to the attached list of noise words.
=> in the end, they can not trust this search and consequently there is no benefit of it. It's a nice search tool, but not reliable.
In my opinion: there needs to be a solution that works the same way for all search fields. Because non-technical users are not able to distinguish the behaviour of different fields due to technical reasons.
From my first investigation, there are some options to get around this current behaviour: either use the same stop lists (noise word lists) for queries as they were used by the full text indexing or generate an empty stop list (noise word list) so that no word is on the stop list. I did not investigate further as any change needs to be compatible and supported by USI.
reference: https://docs.microsoft.com/de-de/sql/relational-databases/search/configure-and-manage-stopwords-and-stoplists-for-full-text-search?view=sql-server-2017
Btw: This is the list of noise words for SQL Servers that build their full-text-index based on the language english, which the users should consider before using the search field.:
0
1
2
3
4
5
6
7
8
9
A
ABOUT
AFTER
ALL
ALSO
AN
AND
ANOTHER
ANY
ARE
AS
AT
B
BE
BECAUSE
BEEN
BEFORE
BEING
BETWEEN
BOTH
BUT
BY
C
CAME
CAN
COME
COULD
D
DID
DO
DOES
E
EACH
ELSE
F
FOR
FROM
G
GET
GOT
H
HAD
HAS
HAVE
HE
HER
HERE
HIM
HIMSELF
HIS
HOW
I
IF
IN
INTO
IS
IT
ITS
J
JUST
K
L
LIKE
M
MAKE
MANY
ME
MIGHT
MORE
MOST
MUCH
MUST
MY
N
NEVER
NO
NOW
O
OF
ON
ONLY
OR
OTHER
OUR
OUT
OVER
P
Q
R
RE
S
SAID
SAME
SEE
SHOULD
SINCE
SO
SOME
STILL
SUCH
T
TAKE
THAN
THAT
THE
THEIR
THEM
THEN
THERE
THESE
THEY
THIS
THOSE
THROUGH
TO
TOO
U
UNDER
UP
USE
V
VERY
W
WANT
WAS
WAY
WE
WELL
WERE
WHAT
WHEN
WHERE
WHICH
WHILE
WHO
WILL
WITH
WOULD
X
Y
YOU
YOUR
Z
0 upvotes
Please sign in to leave a comment.