Best Full-Text Indexing On Multiple Tables

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


ADVERTISEMENT

Adding A Full Text Search Across Multiple Tables (with Text Fields)

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

Full Text Search With Multiple Tables

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

Full-text Search Across Multiple Tables

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

Full-Text Search On Multiple Tables && Columns

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

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.EventNameEvent.DescriptionArtists.ArtistNameVenue.VenueNameI 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 View Related

Searching Database Text W/o Using Full-text Indexing

Mar 31, 2004

I am using the following plumbing code to search a database column for a keyword. I can't use full-test indexing so I came up w/ this work around. But It has many flaws so I'm looking for a better way. Thx in advance.

'Open sql connection
SqlConnection1.Open()

Dim datareader2 As SqlClient.SqlDataReader
datareader2 = cmdFindRowsWithKeyword.ExecuteReader
Dim strMsg As String
Dim intRowToFlag As Integer
Dim strRowsToGet As String
Dim strKeywordAsTyped As String
Dim strKeywordAllCaps As String
Dim strKeywordAllLower As String
Dim strKeywordFirstLetterCap As String
Dim FirstLetter As String

While datareader2.Read

intRowToFlag = datareader2(0).ToString
strMsg = datareader2(1).ToString

'Assign keyword as typed to variable
strKeywordAsTyped = txtSearchFor.Text
'Assign keyword as typed to variable then convert it to all uppercase
strKeywordAllCaps = txtSearchFor.Text
strKeywordAllCaps = strKeywordAllCaps.ToUpper
'Assign keyword as typed to variable then convert it to all lowercase
strKeywordAllLower = txtSearchFor.Text
strKeywordAllLower = strKeywordAllLower.ToLower
'Assign keyword as typed to variable then convert it so just the first letter is in uppercase
strKeywordFirstLetterCap = txtSearchFor.Text
FirstLetter = strKeywordFirstLetterCap.Chars(0)
FirstLetter = FirstLetter.ToUpper
strKeywordFirstLetterCap = strKeywordFirstLetterCap.Remove(0, 1)
strKeywordFirstLetterCap = strKeywordFirstLetterCap.Insert(0, FirstLetter)

'If the string contains the keyword as typed in all caps all lowercase or w/ the 1st letter in caps then flag that row.
If strMsg.IndexOf(strKeywordAsTyped) <> -1 Or strMsg.IndexOf(strKeywordAllCaps) <> -1 Or strMsg.IndexOf(strKeywordAllLower) <> -1 Or strMsg.IndexOf(strKeywordFirstLetterCap) <> -1 Then

cmdFlagRowsWithKeyword.Parameters("@recid").Value = intRowToFlag
SqlConnection2.Open()
Dim datareader3 As SqlClient.SqlDataReader
datareader3 = cmdFlagRowsWithKeyword.ExecuteReader
datareader3.Close()
SqlConnection2.Close()

End If
End While
datareader2.Close()

View 2 Replies View Related

Full Text Search With Multiple Tables In Sql Server 2000

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

Full Text Indexing

Sep 30, 2007

full text indexing
Hi,
In SQL Server 2005, if I set full text indexing enables in column MyDesc and
1. use “Select * from MyTable where MyDesc LIKE ‘%abc%’â€? would this be using full text indexing? Or  have to use Contains to get it be in use?
2. Once I create the full-text index, should I be setting it to populate periodically? Isn’t it populating itself? 
 

View 2 Replies View Related

Full-text Indexing

Jan 6, 2008

right-click do on database and selected properties,selected files page check box "use full-text indexing" is disable.
how can enable check box above  for sql server 2005 on windows xp?
thanks,mohsen
 
 

View 2 Replies View Related

On The Fly Full-Text Indexing

Mar 5, 2008

How might it be possible to have on the fly full-text indexing utilizing the FREETEXT and CONTAINS statements so that when I enter a piece of data into the database it is immediatly searchable using the full-text indexing features?

View 4 Replies View Related

Full Text Indexing

Oct 2, 2005

Hello,I wanna learn Full Text Indexing feature in MS SQL, Please let me know where could i have a good resource about it. I tried google but i didnt find what i need.regards

View 4 Replies View Related

Full Text Indexing

Apr 1, 2002

Recently the full text catalogs no longer work on my sql server. We have tried a lot of different things to get them working and all have failed. I am totally at a loss. The service is running under the local admin and the local admins have sysadmin permissions. We have removed the catalogs and re-added them. We have removed the catalogs changed the DB to disable full text indexing. Checked the registry for the left over entries. Run sp_fulltext_service 'clean_up'. We have tried many difference combinations and tried restoring from backup. Nothing works. If anyone has ANY ideas I would greatly appreciate the help. We are running SQL 7.0 with SP3.

Scott

View 1 Replies View Related

Full Text Indexing

Aug 29, 2003

I have a SQL Server Instance on my workstation (Windows XP Pro) I'm trying to use the Full Text Indexing - but the stupid thing is greyed out in my enterprise manager. Any one know anything I can try?

View 2 Replies View Related

Full-Text Indexing

Jul 13, 2004

I have a table of product inventory I want to be able to search using the CONTAINS and/or FREETEXT functions. There are actually 4 columns I want to be searchable: brand, product name, etc. Since the table can have only one full-text index, should I just define an index on all 4 columns? It would be large in relation to the table, but the table itself is small (~600 rows). The index would not exceed the 900 byte limit.

Will this give me problems in terms of workability or performance? Is there a better approach? I could also just use LIKE searching, but it's significantly less sophisticated.

Thanks in advance.

View 1 Replies View Related

Full-Text Indexing

Dec 21, 2005

Hi,
I am working on programming a knowledge base using ASP and MS SQL and we're running into the problem of how to search it... In that past we've just had a type of like statement... but this isn't really a search function and isn't really doing the trick...

So, what I'm thinking is that we might be able to use the full-text indexing service on Microsoft SQL server and then somehow search the full-text index from an ASP page and then procede with the db interface from there.

Are there better ways of searching MS SQL databases which I'm not aware of? Is it possible to access the full-text index from an ASP page and how would you do this? Are there documents that people could recommend on how to setup full-text indexing on MS SQL Server?

Thank you in advance, ( )

Zakir

View 1 Replies View Related

Full Text Indexing

Mar 7, 2005

I'd like to incrmentally populate my products full text catalogue everytime a product is added, i'm using the following code:

exec msdb.dbo.sp_fulltext_catalog [ @ftcat = ] 'Products'
, [ @action = ] 'start_incremental'
[ , [ @path = ] 'C:Program FilesMicrosoft SQL ServerMssqlFtdata' ]

I get the syntax error Line 166: Line 166: Incorrect syntax near 'Products'.

what is wrong with the code? Any help would be appreciated

View 1 Replies View Related

Full Text Indexing

Jul 6, 2007

Dear experts,
what exactly is full text indexing? and how that was useful......


i've seen this concept while creating databases

View 1 Replies View Related

Full-text Indexing

Jul 20, 2005

Hello,Is there a query or a method that can return the list of all theindexed words in a column that has been full-text indexed in sqlserver 2000? I need to get the words returned above in aContainstable[] query on another column to get a rank that can suggesta degree of similarity between the two.Thanks,J

View 1 Replies View Related

Full Text Indexing

Apr 29, 2006

is there a way to enable full text indexing on SQL Server 2005 Express?

i know that the advanced edition can do so, but i am wondering if there is a registry hack or something that i can use instead of reinstalling.

any ideas?

thanks

View 3 Replies View Related

Full-text Indexing

Sep 22, 2006

Hello everyone,

My questions are about installation (setup) and perfromances.

I have seen that, by default, all database user's files are set to : Use full-text indexing.

If we don't use full-text search at all, would it be a good idea to turn it off?

It seem impossible to turn it off at database creation using the T-SQL : CREATE DATABASE statement. Is it?

Having this parameter set to ON by default must incur an overhead. Rigth?

Best regards.

Carl

View 1 Replies View Related

Full Text Indexing On A Table

Dec 31, 2007

I am using sql server express edition and when  i try to apply full text indexing on the table - the setting is set to "NO" and i am unable to set it to Yes
please advise - thanks Jeff

View 2 Replies View Related

Full-Text Indexing Error

Apr 4, 2008

Trying to make a full-text table of a few tables in SQL server 2000 using the SQL Server Managment Studio. I am getting the following error when I then try to view the columns using the table. The column it is having a problem with is just a varchar text column. I have tried a few different tables and each time it has a problem with one of the columns. It does not give me an error when creating the full-text table. Anyone have any information on this?
 I check on a full text table I made a while ago and it is giving me the same error but searches on it seem to be working, but cannot tell if it is using the one column it is having an issue with.
 
Property TypeColumnName is not available for FullTextIndexColumn '[MyColumnName]'.    This property may not exist for this object, or may not be retrievable due    to insufficient access rights.  (Microsoft.SqlServer.Smo)

View 2 Replies View Related

Full-text Indexing Not Enabled

May 9, 2008

I´m trying to enable full-text indexing in SQL Server Management Express 2005.
I can see the option is there (Database name - Properties - Files), but the options is blurred and I´m not able to select it.
How do I solve this problem?
Getting desperate trying now... 
 
 
 

View 2 Replies View Related

Full-Text Indexing: Best Practices?

Oct 4, 2005

Hey guys,

I'm about to deploy full-text searching to complement
ASP.NET/C#.NET.  I unfortunately have not had much experience in
Full-Text Indexing...

I will be creating catalogs for each table in the database (end-users
pretty much require that we are able to search by
anything).   I see that there is a catalog population
schedule...typically, what is the best practice for updating the
catalogs?  The database entries will most likely be updated
frequently, as it contains the end-users curriculum vitae.  Would
once a day, say midnight, be a sufficient schedule?

And also, as it pertains to best practices, is the method I am applying
the best way to do this (a catalog per table)...I have about 30 tables
in a relational model...is there a better way to catalog the entire
thing instead of table by table?

Thanks a lot for the help!

Eric...

View 3 Replies View Related

Full-text Indexing Wizard

May 3, 2001

I'm getting the following error while trying to setup full-text searching.

"The Microsoft Search service cannot be administered under the present user account"

Search service is using "Local account" to start
I'm logged into the server w/ "sa" right now.

Thanks for any help

View 1 Replies View Related

Problem With Full Text Indexing.

Jun 29, 2001

I was trying Full text indexing on my database. it seems to work fine on all databases except one. On one particular database it returns '0 results' immediately even though the table has a large number of records.
The search returns just fine if tried on the same table on a different database on a different server.

Does anyone have a faintest clue as to what could be wrong ?
please reply ASAP.

Thanks

Kedar

View 1 Replies View Related

Full Text Indexing Question

Oct 11, 2000

I am having a few tables in my database on which I am implementing
FullText Searching.
As the tables are huge, full population of the catalog takes a lot of time.
I want to go for incremental population but I did not have a timestamp column
for this purpose when I initially designed the database.
Is there any way to ensure incremental population without the timestamp column? Because of the design constraints I do not like to have a timestamp column and would like to avoid it if it is possible.
But with out that SQL performs a full population and it is taking more than two hours now for full population and I also have several databases on which I have to do the same but the structure is more or less the same.
What are the performance issues when users are accessing the database when full text catalog population is in progress?Does it slow down reads and writes?It is a web based application for the internet catalog for industrial suppliers and needs to be online with no performance degradation.
Any help and info on this is greatly appreciated.

Thanks
Sushruth Nanduri.

View 1 Replies View Related

Full-Text Indexing Disabled?

Apr 22, 1999

I'm attached to two different SQL 7 servers and neither one has the options enabled for full-text indexing. I am the DBO for those databases and the services are running.

Any ideas what's missing? I'm using SQL 7 clients tools on my NT Workstation.

Also, are there samples of using the index/search within ASP?

View 1 Replies View Related

Full-Text Indexing Problem

Jan 22, 2002

I've created a Full-Text index on a table using Enterprise Manager. I've followed all of the steps outlined in BOL but I can't seem to get it to populate. Any ideas on what I'm doing wrong.

Sidney Ives
Sentara Healthcare
Norfolk Virginia

View 1 Replies View Related

Indexing,full Text Searching

Dec 30, 2005

hello friends..

do indexing and full text searching needs cideamon.exe ?

cideamon exe eats much cpu.I want to disable it but I am afraid that disabling cideamon.exe affects mssql indexes to work.

thanks

View 3 Replies View Related

Full Text Indexing Question

Jan 5, 2005

Hi,

I am using full text indexing to index an image column where I am storing HTML documents. Currently I have an extra column in my table storing the file extension (htm) so the indexer knows which filter to use for every row.

HTML is the only format I'll be indexing, so is there a way for me to set this somewhere else so I don't have to have a column full of htm values - this seems really wasteful, those htm's add up when there are millions of rows...

Thanks!
Rob

View 2 Replies View Related

Full Text Indexing Question

Nov 29, 2007

If I have a table which has multiple child rows in another table, how I can index both tables to search the parent row, and all child rows in one go for a given term?

View 4 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved