Is it posible that dashes "-" are considering as punctuation when using
CONTAINSTABLE function? It's the behavior I see but I cannot find any text in
BOL that specify this.
This gives lots of rows:
SELECT k.KEY, * FROM ContainsTable(Request,*,N'ISSI-2007-0')
This gives no of rows:
SELECT k.KEY, * FROM ContainsTable(Request,*,N'ISSI-2007-00')
But I know that from the first resultset, full-text indexed column include
data that start with 'ISSI-2007-00'...
I would like that someone can confirm this behavior and let me know where I
can find ducomentation on that "-" behavior!
David, MCDBA
For the most part it is throw away. The rules vary from language to language
though. Basically it is broken as ISSI and 2007 and 0 (for ISSI-2007-0), and
ISSI 2007 and 00 for the second one.
I get different results from you.
create table david(pk int identity not null constraint davidpk primary key ,
charcol varchar(20))
GO
create fulltext index on david(charcol) key index davidpk
GO
insert into david(charcol) values('ISSI-2007-0')
insert into david(charcol) values('ISSI-2007-00')
GO
select * from david where contains(*,'ISSI-2007-0')--both found
GO
select * from david where contains(*,'ISSI-2007-00')--only the second is
found
GO
RelevantNoise.com - dedicated to mining blogs for business intelligence.
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"David Parenteau" <DavidParenteau@.discussions.microsoft.com> wrote in
message news:F80F130B-78F1-4942-89AA-589E6419DCB7@.microsoft.com...
> Is it posible that dashes "-" are considering as punctuation when using
> CONTAINSTABLE function? It's the behavior I see but I cannot find any text
> in
> BOL that specify this.
> This gives lots of rows:
> SELECT k.KEY, * FROM ContainsTable(Request,*,N'ISSI-2007-0')
> This gives no of rows:
> SELECT k.KEY, * FROM ContainsTable(Request,*,N'ISSI-2007-00')
> But I know that from the first resultset, full-text indexed column include
> data that start with 'ISSI-2007-00'...
> I would like that someone can confirm this behavior and let me know where
> I
> can find ducomentation on that "-" behavior!
> David, MCDBA
Showing posts with label behavior. Show all posts
Showing posts with label behavior. Show all posts
Friday, February 24, 2012
Dash in search string
Tuesday, February 14, 2012
Customizing Infosoft.dll Indexing behavior
Hi everybody,
Does any body know how we can customize the behavior of Microsoft
Indexing Service (i.e. Infosoft.dll).
I have the following case:
I am currently in the process of adding full linguistic support to a an
unsupported MS-Search language.
I need to index certain characters in a neutralized manner.
Example: I need to index the letters A,B, and C always as the letter A
so that when the user wants to search for the word ABZ for example, I
will neutralize B->A before passing it to the word to MS-Search
(Therefore teh word AAZ will be passed instead to MS-Search). This way I
gurantee that MS-Search will fetch all occurences of: ABZ, BBZ, CCZ, ACZ
... etc because this is how they are actually stored in the database.
In other words, I need a way to hook or manipulate teh Infosoft.dll word
breaker and stemmer for my own needs or replace it with my own.
I hope you got the idea.
I tried to search the MSDN site for hints or samples on how to do that
but found nothing.
THanks in advance.
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!
Its not infosoft.dll which does the word breaking per se
Did you review the links here?
http://msdn.microsoft.com/library/de...nario_4ckl.asp
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
"Luai Rifai" <luairifai@.hotmail.com> wrote in message
news:OCXVqSzvEHA.2012@.TK2MSFTNGP15.phx.gbl...
> Hi everybody,
> Does any body know how we can customize the behavior of Microsoft
> Indexing Service (i.e. Infosoft.dll).
> I have the following case:
> I am currently in the process of adding full linguistic support to a an
> unsupported MS-Search language.
> I need to index certain characters in a neutralized manner.
> Example: I need to index the letters A,B, and C always as the letter A
> so that when the user wants to search for the word ABZ for example, I
> will neutralize B->A before passing it to the word to MS-Search
> (Therefore teh word AAZ will be passed instead to MS-Search). This way I
> gurantee that MS-Search will fetch all occurences of: ABZ, BBZ, CCZ, ACZ
> .. etc because this is how they are actually stored in the database.
> In other words, I need a way to hook or manipulate teh Infosoft.dll word
> breaker and stemmer for my own needs or replace it with my own.
> I hope you got the idea.
> I tried to search the MSDN site for hints or samples on how to do that
> but found nothing.
> THanks in advance.
>
> *** Sent via Developersdex http://www.codecomments.com ***
> Don't just participate in USENET...get rewarded for it!
|||Luai,
Actually, infosoft.dll is the "Wordbreaker and stemmer dll" taken from the
file description of the actual dll file and the "Indexing Service"
executable is cisvc.exe. Furthermore, it does seem that your question is
more about the Indexing Service, so a better place to post question on it
would be microsoft.public.inetserver.indexserver.
Furthermore, since you want to add full linguistic support for an
unsupported MSSearch language, you might want to review the following white
paper: "How to Write a Filter for Use by SharePoint Portal Server 2003 and
Other Microsoft Search-Based Products" at
http://msdn.microsoft.com/library/de...iteaFilter.asp
as it also includes "...Microsoft Indexing Service use filters to extract
the content and properties of files for inclusion in a full-text index".
Regards,
John
"Luai Rifai" <luairifai@.hotmail.com> wrote in message
news:OCXVqSzvEHA.2012@.TK2MSFTNGP15.phx.gbl...
> Hi everybody,
> Does any body know how we can customize the behavior of Microsoft
> Indexing Service (i.e. Infosoft.dll).
> I have the following case:
> I am currently in the process of adding full linguistic support to a an
> unsupported MS-Search language.
> I need to index certain characters in a neutralized manner.
> Example: I need to index the letters A,B, and C always as the letter A
> so that when the user wants to search for the word ABZ for example, I
> will neutralize B->A before passing it to the word to MS-Search
> (Therefore teh word AAZ will be passed instead to MS-Search). This way I
> gurantee that MS-Search will fetch all occurences of: ABZ, BBZ, CCZ, ACZ
> .. etc because this is how they are actually stored in the database.
> In other words, I need a way to hook or manipulate teh Infosoft.dll word
> breaker and stemmer for my own needs or replace it with my own.
> I hope you got the idea.
> I tried to search the MSDN site for hints or samples on how to do that
> but found nothing.
> THanks in advance.
>
> *** Sent via Developersdex http://www.codecomments.com ***
> Don't just participate in USENET...get rewarded for it!
|||Thanks a lot Hilary & John,
I really appreciate your feedback.
The problem with these references is that they talk about code that has
to customized or written in C++. My background is native C and VB,VB.Net
I wonder if there is a way to customize these filter libraries by adding
them as .Net references in a VB.Net project. Then I can work with them
easily using their .Net class model?!
Thanks any way.
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!
|||You're welcome, Luai,
Unfortunately, the API's for writing word breakers and stemmers for a new &
unsupported MS-Search language (a non-trivial effort) must be done in C/C++
as these API's were developed well before managed .NET languages were
available. Below are a few links that demonstrate how to interop with the
wordbreakers & stemmers via C# that might be of some help for you:
Part 1: Testing Full-Text Wordbreakers
http://sqljunkies.com/WebLog/acencini/articles/595.aspx
Part 2: Testing Full-Text Stemmers
http://sqljunkies.com/WebLog/acencini/articles/616.aspx
Part 3: Testing Full-Text IFilters
http://sqljunkies.com/WebLog/acencini/articles/716.aspx
Note, the above are less about writing a new wordbreaker, and more about how
to test the existing Wordbreakers, Stemmers and IFilters.
Regards,
John
"Luai" <luai_nospam@.devdex.com> wrote in message
news:uF2H3R$vEHA.3580@.TK2MSFTNGP10.phx.gbl...
> Thanks a lot Hilary & John,
> I really appreciate your feedback.
> The problem with these references is that they talk about code that has
> to customized or written in C++. My background is native C and VB,VB.Net
> I wonder if there is a way to customize these filter libraries by adding
> them as .Net references in a VB.Net project. Then I can work with them
> easily using their .Net class model?!
> Thanks any way.
>
> *** Sent via Developersdex http://www.codecomments.com ***
> Don't just participate in USENET...get rewarded for it!
|||Thanks John,
I think I will recommend to my manager that one of the C++ programmers
in my company should do this job instead of me
Thanks
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!
Does any body know how we can customize the behavior of Microsoft
Indexing Service (i.e. Infosoft.dll).
I have the following case:
I am currently in the process of adding full linguistic support to a an
unsupported MS-Search language.
I need to index certain characters in a neutralized manner.
Example: I need to index the letters A,B, and C always as the letter A
so that when the user wants to search for the word ABZ for example, I
will neutralize B->A before passing it to the word to MS-Search
(Therefore teh word AAZ will be passed instead to MS-Search). This way I
gurantee that MS-Search will fetch all occurences of: ABZ, BBZ, CCZ, ACZ
... etc because this is how they are actually stored in the database.
In other words, I need a way to hook or manipulate teh Infosoft.dll word
breaker and stemmer for my own needs or replace it with my own.
I hope you got the idea.
I tried to search the MSDN site for hints or samples on how to do that
but found nothing.
THanks in advance.
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!
Its not infosoft.dll which does the word breaking per se
Did you review the links here?
http://msdn.microsoft.com/library/de...nario_4ckl.asp
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
"Luai Rifai" <luairifai@.hotmail.com> wrote in message
news:OCXVqSzvEHA.2012@.TK2MSFTNGP15.phx.gbl...
> Hi everybody,
> Does any body know how we can customize the behavior of Microsoft
> Indexing Service (i.e. Infosoft.dll).
> I have the following case:
> I am currently in the process of adding full linguistic support to a an
> unsupported MS-Search language.
> I need to index certain characters in a neutralized manner.
> Example: I need to index the letters A,B, and C always as the letter A
> so that when the user wants to search for the word ABZ for example, I
> will neutralize B->A before passing it to the word to MS-Search
> (Therefore teh word AAZ will be passed instead to MS-Search). This way I
> gurantee that MS-Search will fetch all occurences of: ABZ, BBZ, CCZ, ACZ
> .. etc because this is how they are actually stored in the database.
> In other words, I need a way to hook or manipulate teh Infosoft.dll word
> breaker and stemmer for my own needs or replace it with my own.
> I hope you got the idea.
> I tried to search the MSDN site for hints or samples on how to do that
> but found nothing.
> THanks in advance.
>
> *** Sent via Developersdex http://www.codecomments.com ***
> Don't just participate in USENET...get rewarded for it!
|||Luai,
Actually, infosoft.dll is the "Wordbreaker and stemmer dll" taken from the
file description of the actual dll file and the "Indexing Service"
executable is cisvc.exe. Furthermore, it does seem that your question is
more about the Indexing Service, so a better place to post question on it
would be microsoft.public.inetserver.indexserver.
Furthermore, since you want to add full linguistic support for an
unsupported MSSearch language, you might want to review the following white
paper: "How to Write a Filter for Use by SharePoint Portal Server 2003 and
Other Microsoft Search-Based Products" at
http://msdn.microsoft.com/library/de...iteaFilter.asp
as it also includes "...Microsoft Indexing Service use filters to extract
the content and properties of files for inclusion in a full-text index".
Regards,
John
"Luai Rifai" <luairifai@.hotmail.com> wrote in message
news:OCXVqSzvEHA.2012@.TK2MSFTNGP15.phx.gbl...
> Hi everybody,
> Does any body know how we can customize the behavior of Microsoft
> Indexing Service (i.e. Infosoft.dll).
> I have the following case:
> I am currently in the process of adding full linguistic support to a an
> unsupported MS-Search language.
> I need to index certain characters in a neutralized manner.
> Example: I need to index the letters A,B, and C always as the letter A
> so that when the user wants to search for the word ABZ for example, I
> will neutralize B->A before passing it to the word to MS-Search
> (Therefore teh word AAZ will be passed instead to MS-Search). This way I
> gurantee that MS-Search will fetch all occurences of: ABZ, BBZ, CCZ, ACZ
> .. etc because this is how they are actually stored in the database.
> In other words, I need a way to hook or manipulate teh Infosoft.dll word
> breaker and stemmer for my own needs or replace it with my own.
> I hope you got the idea.
> I tried to search the MSDN site for hints or samples on how to do that
> but found nothing.
> THanks in advance.
>
> *** Sent via Developersdex http://www.codecomments.com ***
> Don't just participate in USENET...get rewarded for it!
|||Thanks a lot Hilary & John,
I really appreciate your feedback.
The problem with these references is that they talk about code that has
to customized or written in C++. My background is native C and VB,VB.Net
I wonder if there is a way to customize these filter libraries by adding
them as .Net references in a VB.Net project. Then I can work with them
easily using their .Net class model?!
Thanks any way.
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!
|||You're welcome, Luai,
Unfortunately, the API's for writing word breakers and stemmers for a new &
unsupported MS-Search language (a non-trivial effort) must be done in C/C++
as these API's were developed well before managed .NET languages were
available. Below are a few links that demonstrate how to interop with the
wordbreakers & stemmers via C# that might be of some help for you:
Part 1: Testing Full-Text Wordbreakers
http://sqljunkies.com/WebLog/acencini/articles/595.aspx
Part 2: Testing Full-Text Stemmers
http://sqljunkies.com/WebLog/acencini/articles/616.aspx
Part 3: Testing Full-Text IFilters
http://sqljunkies.com/WebLog/acencini/articles/716.aspx
Note, the above are less about writing a new wordbreaker, and more about how
to test the existing Wordbreakers, Stemmers and IFilters.
Regards,
John
"Luai" <luai_nospam@.devdex.com> wrote in message
news:uF2H3R$vEHA.3580@.TK2MSFTNGP10.phx.gbl...
> Thanks a lot Hilary & John,
> I really appreciate your feedback.
> The problem with these references is that they talk about code that has
> to customized or written in C++. My background is native C and VB,VB.Net
> I wonder if there is a way to customize these filter libraries by adding
> them as .Net references in a VB.Net project. Then I can work with them
> easily using their .Net class model?!
> Thanks any way.
>
> *** Sent via Developersdex http://www.codecomments.com ***
> Don't just participate in USENET...get rewarded for it!
|||Thanks John,
I think I will recommend to my manager that one of the C++ programmers
in my company should do this job instead of me

Thanks
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!
Subscribe to:
Posts (Atom)