Full Text Search In SQL 2005 On Multiple Tables
Dec 28, 2007
Hi,
There have been a number of posts on querying multiple tables using full text in SQL Server. I haven't quite found the answer I'm looking for, and I'm aware that in 2005 some full text functionality changed.
I have an Events table which joins to a Venue table and also a many-to-many link (via a table called EventsToArtists) to an Artists table.
When a user searches for "Rolling Stones Wembley" (without the apostrophes), I want the query to look in the following columns:
Event.EventName
Event.Description
Artists.ArtistName
Venue.VenueName
I have done quite a bit of testing on this, and haven't yet got the desired results. Rolling Stones will be found in the Artists table, and Wembley in the Venue table. At the moment, if I search for Rolling Stones, it behaves as expected. But if search for the venue name as well I get no results. I'm pretty sure this is because EventName wouldn't contain all key words and so the record is excluded from the results. At the moment I am using INNER JOINs between the tables....perhaps I should be executing a full text search on each table's catalogue and then do a UNION to join the resultsets?
Hope you can point me in the right direction.
Thanks
View 5 Replies
ADVERTISEMENT
Sep 7, 2007
Hi, i'm trying to do a full text search on my site to add a weighting score to my results. I have the following database structure:
Documents: - DocumentID (int, PK) - Title (varchar) - Content (text) - CategoryID (int, FK)
Categories: - CategoryID (int, PK) - CategoryName (varchar)
I need to create a full text index which searches the Title, Content and CategoryName fields. I figured since i needed to search the CategoryName field i would create an indexed view. I tried to execute the following query:
CREATE VIEW vw_DocumentsWITH SCHEMABINDING ASSELECT dbo.Documents.DocumentID, dbo.Documents.Title, dbo.Documents.[Content], dbo.Documents.CategoryID, dbo.Categories.CategoryNameFROM dbo.Categories INNER JOIN dbo.Documents ON dbo.Categories.CategoryID = dbo.Documents.CategoryID
GOCREATE UNIQUE CLUSTERED INDEX vw_DocumentsIndexON vw_Documents(DocumentID)
But this gave me the error:
Cannot create index on view 'dbname.dbo.vw_Documents'. It contains text, ntext, image or xml columns.
I tried converting the Content to a varchar(max) within my view but it still didn't like.
Appreciate if someone can tell me how this can be done as surely what i'm trying to do is not ground breaking.
View 2 Replies
View Related
Apr 16, 2008
hi friends,
I know how to create full text catalog with single table in single database.
But i need to know the steps to create full text catalog with multiple tables in single database.
View 2 Replies
View Related
Jan 13, 2006
Hello,We are developing an application against an MS SQL Server 2000 databasewhich requires that we implement full-text searching across columns inmultiple tables. The research that we have conducted seems to indicatethat this is not directly possible within SQL Server 2000. And we canfind no way to implement this as the catalogs that are generated aretable specific.As a work-around, we are planning to create a secondary table usedstrictly for searching which is going to denormalize and combine thesearchable data into one catalog. We just want to confirm that this isthe recommended approach or if there is an alternate solution anyonehas used. Please note that upgrading to SQL Server 2005 is not anoption.Thanks.John FlemingJoin Bytes!
View 1 Replies
View Related
Sep 19, 2007
Hi,
I have tried this code from http://jtkane.spaces.live.com/Blog/cns!1pWDBCiDX1uvH5ATJmNCVLPQ!316.entry for full-text search on multiple tables & columns.
Here's my code:
SELECT * from [tStaffDir] AS e, [tStaffDir_PrevEmp] t,CONTAINSTABLE([tStaffDir], *, @Name) as AwhereA.[KEY] = e.[ID] andt.[ID] = e.[ID]
I have FT the both the tables above and I am able to get results from the [tStaffDir] table but not the [tStaffDir_PrevEmp] table.The [tStaffDir_PrevEmp] table does have a column (which is [ID]) that is indexed, unique and non-Nullable.Please advise what I should do and look out for.
Many Thanks.
View 2 Replies
View Related
Apr 17, 2008
hi friends,
i need the steps for full text search with more than one tables in single database. I know the steps for full text search by single table in single database.
Thanks in advance
View 1 Replies
View Related
Dec 11, 2006
How can I search throught DOCX (MS Word 2007) documents by SQL Server 2005 Full Text Search engine?
Should I something download?
View 6 Replies
View Related
Apr 12, 2008
Hello !
When I try to search into a database table I get the following error :
Cannot use a CONTAINS or FREETEXT predicate on table or indexed view 'Customers' because it is not full-text indexed.
Please tell me how can I make the index.
I am using SQL Server Express 2005,VWD 2008 and WIN XP.
Thank You !
View 2 Replies
View Related
Mar 6, 2006
Hi Everybody,
Since SQL 2005 express doesn't support full text search... is there any third party that provides FTS for the express version?
Thank YOU
View 2 Replies
View Related
Dec 3, 2007
Full text search is the search functionality that enables a fast and easy way of searching text based data in SQL Server. Although the concept of full text search is not new in SQL Server 2005, there are considerable enhancements in performance and manageability of SQL Server 2005. http://aspalliance.com/1512_Understanding_Full_Text_Search_in_SQL_Server_2005.all
Uday Denduluri
Software Engineer
Refer my articles at http://aspalliance.com/author.aspx?uId=62740
View 1 Replies
View Related
Apr 4, 2007
Hello:
I am on a development machine with sql 2000 & sql 2005 installed. The full Text Search for sql 2005 is installed and running on this local machine.
However, I need to do a full text search with sql 2000. When I do:
sp_fulltext_database 'enable'
I get:
Full-Text Search is not installed, or a full-text component cannot be loaded.
Can I install full text search for both sql server 2000 & 2005. I read somewhere that this is not possible.
Since fulltext search loads with sql 2005 (I believe), does this mean I can't do an sql server 2000 full text search on a local machine (or server) that has both of sql2000 & sql 2005 installed.
Thanks for any help on this
View 1 Replies
View Related
Apr 4, 2006
I have conflicting info about whether SQL 2005 Express contains full-text search and catalogueing functionality. I have read several places online where it is stated that "SQL Server 2005 Express Edition with Advanced Services" contains full-text search, but that seems to conflict with the info presented here:
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx
...for clarification, see my screenshot:
http://www.builderdash.com/SQL2005.png
What's the real deal, and why the conficting info?
View 3 Replies
View Related
Jan 28, 2008
hi,
im pretty new to sql server
I created a database with full text enabled, I created the indexes and queried the db in managment studio express and everything worked great.
when i try the same thing from within vc# it tells me that i have to enable fulltext indexing and create an index before i can use CONTAINS
what do i need to do to make my already fully functional fulltext indexes work from within vc# express 2005
thanks
View 9 Replies
View Related
Sep 21, 2007
Posted - 09/19/2007 : 05:19:21
I have setup full text search on a table. Everything works fine. Now I want to find documents that contain the next string: 'T-150/04'
The query will give zero results. Is there a way to find documents that contain these kind of strings? (slahses and minus)
I use the following query:
SELECT * FROM CONTAINSTABLE (jurisprudentie, text, '"T-150/04"' )
If I do this query:
SELECT * FROM CONTAINSTABLE (jurisprudentie, text, '"judge"' )
It will work fine. I know it has to do something with the interpunction things (slahs and minus), but I don't know what query may solve my problem.
Also a select * from containstable(jurisprudentie, text, '"T_150_04"' ) doesn't give me the proper result.
The minus sign and the slash are disturbing things. If i search for "150" or for "04" I will find the record, but I would like to speficically search for the exact string "T-150/04". Because these are references to case law issued by the court.
I hope someone can help me out.
Regards,
CBGE
View 3 Replies
View Related
Feb 8, 2007
I installed SQL Server 2005 express with advanced services which is supposed to include full-text search capability but I can't get it to work. When I try to create a full-text catalog it gives me an error because it does not think the full-text service is installed or loaded. I can't seem to find a reference to the full-text search feature to enable or install it. any ideas?
View 3 Replies
View Related
Sep 1, 2007
Hello, I have a database that has Full Text Search it works great under Management Studio Express. I can use the CONTAINS expression no problem. Now when I try using the same database in Visual Studio 2005 the CONTAINS statement it doesn't return any values and I don't get any error messages. The way I call my database from my web.config file is as follows: <add name="MyDB" connectionString="Data Source=.FULLTEXTSEARCH;Integrated Security=True;AttachDBFilename='D:My DocumentsVisual Studio 2005WebSitesApp_DataMyDataBase.mdf';User Instance=false" providerName="System.Data.SqlClient"/> Why doesn't Full Text Search work when I use it from my web application and it does work under SQL Server Management Studio Express? Please help, Louis
View 2 Replies
View Related
Feb 5, 2008
the sql server documentation states that the use of wildcards is allowed by placing an '*' at the end of the search term. I can get this to work OK in the SQL Server 2005 query window, heres an example
select ID, SUBSTRING(Title, 1, 100) AS Title, Implemented, Published from Table1 where contains(title,'"Therap*"') ORDER BY Title
this works OK and returns a list ot titles with the word Therapy in the title
Im trying to implelemnt this functionalty in a web app with C#. The string is passed to a stored procedure. How on earth do I pass in the quotes ??
Ive tried building the string as normal then adding single quotes on the end, so I get something like
retval = txt + "*"; //txt contains the partial word im searching for, then add the wildcard
then retval = "'" + retval + "'"; // add the single quotes
and pass txt as a string parameter to my stored procedure. It doesnt work. Can anyone tell me what im doing wrong ??
the same query works fine in the SQL query window.
View 7 Replies
View Related
Feb 6, 2007
Hi,
We are facing a problem while passing a string containing the "&" character into Full Text search CONTAINS predicate. The records that do have this character are not being returned by the search.
I'd like to raise two questions:
1) Is there any special way to escape this character?
2) Does FTS index it at all?
We have tried all known (to us) ways of escaping like doubling the character, using char(38), using ESCAPE etc..Nothing seem to work. Any help would be appreciated.
Thanks,
Alex
View 2 Replies
View Related
Jan 23, 2008
Hello, I have read on the multiple places that filter for full text search of PDF files using FTS2005 is included in the Reader 8 etc. However, I have not found any document or instruction etc on adobe documents, microsoft documents or web that details on how to actually configure the filter. Please help. thanks
Kumud
View 4 Replies
View Related
May 24, 2006
Newbie questions.
1. Can SQL Server 20005 Express do full text searches?
2. If not, is there a way to use SQL Server 20005 Express to search a database column containing text data type?
Using Visual Basic 2005 Express, I would like to do a simple search with a search textbox and button that will return the entire contents of a field of database text when one or more words in the search text box are in the field of text in the database.
I have been playing in Visual Basic 2005 Express and using SQL queries (SELECT, FROM, WHERE) to output to DataGridView controls by using ID columns as filters in the query, etc. This I can do. But I have not been able to use a word or phrase in the search textbox as a filtered query to output the entire database field of text which contains the search word or phrase in the search textbox.
Thanks for any help in getting me started with this.
View 4 Replies
View Related
Sep 8, 2007
Using SQL Server 2005 Express (Advanced SP2) I have created a Full-Text Search application in VB for distribution on CD for single PCs. Works fine on my local machine during development.
Although the SQL Server 2005 Express edition can be distributed freely, it does not seem to support Full-Text searches in the distributed version. Is this true? Or am I missing something with my deployment?
If I need another version of Sql Server for distribution of a Full-Text Search app, how do I go about obtaining the proper DB and permission for distribution? The DB size is about 600 MB.
View 8 Replies
View Related
Apr 7, 2006
Hi, I'm using SQL Express Advanced CTP and I'm in the process of adding a search facility to an asp.net site. I'm having a huge problem deciding the easiest and most optimised method to use when creating the index using multiple tables and where I can't seem to to produce a unique, clustered index.
The site I'm testing on is a portal in which we have various, different clients advertising their business.
A user will be able to search using keywords such as business activity, business location and anything else that may appear in the business / publicity descriptions.
A publicity (publicity_id) may belong to one or more TOWNS (ville_id), e.g., Business A might have a promotional offer that applies to three local towns, Business B to all towns and Business C to just one town.
A publicity may belong to one or more ACTIVITIES (activity_id), e.g., Business D is a resturant but has also a bar and Business E belongs to prĂȘt-Ă -porter, fashion, and beauty.
I'm using a view (ActivePubs) to produce a query across multiple tables Clients (business name), Publicities (publicity descriptions), Towns and Activities.
So from the nature of how the publicities are connected to activities and towns, I have many to many relationships that produce duplicate publicity_id values when I create the view, and thus this provides a problem when trying to create a unique, clustered index on ActivePubs; and none of the coloumns produce unique values that monotonically increases, ideal, I believe, for creating unique, clustered indexs. I have also read that it is only best to use interger values for creating unique, clustered indexes.
I thought that if I SELECT the row number in ActivePubs,
SELECT ROW_NUMBER() OVER (ORDER BY dbo.Publicities.publicity_id) AS ROWNUM, ...
in addition to the rest of the query, then I might be able to use the unique values from the query result to create the unique, clustered index
CREATE UNIQUE CLUSTERED INDEX CL_Inx_Pubs ON ActivePubs(ROWNUM)
but instead this produces the following error...
Cannot create index on view "ActivePubs" because it contains a ranking or aggregate window function. Remove the function from the view definition or, alternatively, do not index the view.
So I scrapped this idea but without this method using just
CREATE UNIQUE CLUSTERED INDEX CL_Inx_Pubs ON ActivePubs(publicity_id)
I get the following error...
CREATE UNIQUE INDEX terminated because a duplicate key was found for object name 'ActivePubs' and index name 'CL_Inx_Pubs'. The duplicate key value is (32).
I did consider NOT using a UNIQUE clustered index, but got this error...
Cannot create nonunique clustered index on view 'daysandnights.ActivePubs' because only unique clustered indexes are allowed. Consider creating unique clustered index instead.
The only other method I think about using is storing the query in a temporary table instead of using a view, then creating an additional column in the temporary table to store a unique, automatically incremented, PK for the table to give me my unique index, but my guess is that this is overkill?
Much appreciate any help you can provide.
Deakus
View 1 Replies
View Related
Nov 30, 2006
Anyone have any recommendations on how to bring together a search across multiple tables? Like I'd love to do a search where i searched for the product name, company name or tag all in one query (though all are in separate tables)... is that possible? Individually, it's easy, but combined it's very hard.
View 3 Replies
View Related
Jul 20, 2006
Hello,I have installed SQL Server 2005 Express Edition Advanced Services andSQL Server 2005 Express Edition Toolkit SP1. I cannot use full-textsearch. When I called:exec sp_fulltext_service 'load_os_resources', 1;exec sp_fulltext_service 'verify_signature', 0;goI got error:Full-Text Search is not installed, or a full-text component cannot beloaded.What should I do to be able to use full text search? Could you help meplease? I cannot find solution in Internet.../RAM/
View 1 Replies
View Related
Aug 16, 2007
To ignore the noise words in the query microsoft remommends to execute the following statements, by which we can take advantage of the new transformation of noise words in CONTAINS queries:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'transform noise words', 1
GO
RECONFIGURE
GO
But this never works. Can any one please suggest how to make this work.(without modifying the full text text file)
View 2 Replies
View Related
Aug 1, 2007
hello.
is there a rational explanation for which after some select statements, the rank returned by the full-text search engine is 0, knowing that just after the repopulation the rank is displayed correctly?
in other words, time and usage messes up the ranking. why?
thanks!
View 4 Replies
View Related
Mar 29, 2006
What is the equivalent of the SQL Server 2000 Full-Text Search Service in SQL 2005?
I need to know cos i got a forum app implementing this in SQL 2000 but my company is using SQL 2005 Enterprise.
cos i cannot find this option in sql 2005.....
View 1 Replies
View Related
Aug 10, 2006
I have upgraded a SBS 2003 MSDE database (instance MSSQL$SHAREPOINT) to SQL Server 2005 Express Advanced Edition. This worked without a problem even when I enabled all the options for the upgrade including Full-text search.
I now want to have Full-text search on this instance of SQL 2005 with database name of STS_EVEREST_1.
I first tried to use the T-SQL command of "CREATE FULLTEXT CATALOG BBVisionCatalog AS DEFAULT;"
I now know that the original database was created under SQL 2000 and therefore I needed to use SQL 2000 commands. So I used the following script:
USE STS_EVEREST_1
EXEC sp_fulltext_database 'enable'
EXEC sp_fulltext_catalog 'BBVisionCatalog', 'create';
It produced the following ERROR messages:
(1 row(s) affected)
Msg 7609, Level 17, State 2, Procedure sp_fulltext_database, Line 46
Full-Text Search is not installed, or a full-text component cannot be loaded.
I checked to see if the Microsoft Search Service was running. It was running.
Anyone know how I can fix this?
Regards
Rolf Pfotenhauer
email: rolfpf@yahoo.com.au
View 9 Replies
View Related
Mar 29, 2008
Hi - I'm short of SQL experience and hacking my way through creating a simple search feature for a personal project. I would be very grateful if anyone could help me out with writing a stored procedure. Problem: I have two tables with three columns indexed for full-text search. So far I have been able to successfully execute the following query returning matching row ids: dbo.Search_Articles @searchText varchar(150) AS SELECT ArticleID FROM articles WHERE CONTAINS(Description, @searchText) OR CONTAINS(Title, @searchText) UNION SELECT ArticleID FROM article_pages WHERE CONTAINS(Text, @searchText); RETURN This returns the ArticleID for any articles or article_pages records where there is a text match. I ultimately need the stored procedure to return all columns from the articles table for matches and not just the StoryID. Seems like maybe I should try using some kind of JOIN on the result of the UNION above and the articles table? But I have so far been unable to figure out how to do this as I can't seem to declare a name for the result table of the UNION above. Perhaps there is another more eloquent solution? Thanks! Peter
View 3 Replies
View Related
Jul 21, 2015
Our clients want to be able to do full text search with a single letter. (Is the name Newton, Nathan, Nick?, Is the ID N1, N2...). Doing a single character full text search on a table work 25 out of 26 times. The letter that doesn't work is 'n'. the WHERE clause CONTAINS(full_text_field, ' "n*" ') returns all rows, even rows that have no 'n' in them anywhere. Adding a second letter after the "n" works as expected.
Here is an example
create table TestFullTextSearch (
Id int not null,
AllText nvarchar(400)
)
create unique index test_tfts on TestFullTextSearch(Id);
create fulltext catalog ftcat_tfts;
[Code] ....
View 4 Replies
View Related
Nov 6, 2014
I have a scenario of where the standard Full-Text search identifies keywords but Semantic Search does not recognize them as keywords. I'm hoping to understand why Semantic Search might not recognize them. The context this is being used in medical terminology and the specific key words I noticed missing right off the bat were medications.
For instance, if I put the following string into a FT indexed table
'J9355 - Trastuzumab (Herceptin)'
AND
'J9355 - Trastuzumab emtansine'
The Semantic Search recognized 'Herceptin' and 'Emtansine' but not 'Trastuzumab'
Nor in
'J8999 - Everolimus (Afinitor)'
It did not recognize 'Afinitor' as a keyword.
In all cases the Base of Full-Text did find those keywords and were identifiable using the dmvsys.dm_fts_index_keywords_by_document.It does show the index as having completed.
why certain words might not be picked up while others would be? Could it be a language/dictionary issue? I am using English and accent insensitive settings?
View 0 Replies
View Related
Jul 24, 2007
would you use sql server "full text search" feature as your site index? from some reason i can't make index server my site search catalog, and i wonder if the full text is the solution. i think that i wll have to you create new table called some thing like "site text" and i will need to write every text twice- one the the table (let's say "articles table") and one to the text. other wise- there is problems finding the right urlof the text, searching different tables with different columns name and so on...
so i thought create site search table, with the columns:
id, text, url
and to write every thing to this table.
but some how ot look the wrong way, that every forum post, every article, album picture or joke will insert twice to the sqr server...
what do you think?
View 1 Replies
View Related
Mar 30, 2013
I have installed the Adobe iFilter 11 64 bit and set the path to the bin folder. I still cannot find any text from the pdf files. I suspect I am missing something trivial because I don't find much when I Bing for this so it must not be a common problem.Here is the code.
--Adobe iFilter 11 64 bit is installed
--The Path variable is set to the bin folder for the Adobe iFilter.
--SQL Developer version 64 bit on both Windows 7 and Windows 8.
USE master;
GO
DROP DATABASE FileTableStudy;
GO
CREATE DATABASE FileTableStudy
ON PRIMARY
[code]....
View 14 Replies
View Related