I just installed SQL Server 2005 and need to create a full-text indexing. I looked up how to do it, but the full-text indexing option is ghosted so i don't even have the option to enable it...any ideas? I tried searching for hours with no luck.
in object explorer ,do right-click on database and is selecting preoperties and is selecting "files" page "use full-text indexing" ckeck box is disable. how can enabled this check box? thanks , mohsen
Hello,I am learning SQL Server 2005 Expres Edition. I need to create fulltext index on Books.Remarks column in my database. I tried:CREATE FULLTEXT CATALOG FTC_Books AS DEFAULTCREATE FULLTEXT INDEX ON Books (Remarks) KEY INDEX IX_Books_Remarks ONFTC_BooksUnfortunately I got error:Full-Text Search is not installed, or a full-text component cannot beloaded.I don't understand this because I marked all options during setup.Please help/RAM/
I am following the how to in the sql studio management express and for text indexing it says
================================================ To enable a database for full-text indexing
In Object Explorer, expand the server group, right-click the database for which you want to enable full-text indexing, and then select Properties.
Select the Files page, and then select Use full-text indexing This worked ok ==================================================
next it says to
================================================== To enable a table for full-text indexing
Expand the server group, expand Databases, expand User Databases, and expand the database that contains the table you want to enable for full-text indexing.
Right-click the table that you want to enable for full-text indexing.
Select Full-Text index, and then click Enable Full-Text indexing.
I am using the full text indexing feature of SQL Server .
I have indexed two text fields in the Content table and two other text fields in the ContentDetail table
The select queries are shown below for the two seperate calls.
I want to be able to show the results based on the rank ( The column that has the best match for the searched key ).
Since I am getting two different RANK arrays from the two calls, can i resort them in the code to get the new rank order to show the results in the screen
SELECT KEY_TBL.RANK,FT_TBL.Description, FT_TBL.Title FROM Content AS FT_TBL INNER JOIN CONTAINSTABLE( Content, * , 'ISABOUT (Cancer weight(1),Survivor weight(1), Shared weight(1), Story weight(1))' ) AS KEY_TBL ON FT_TBL.ContentID = KEY_TBL.[KEY] ORDER BY KEY_TBL.RANK DESC
SELECT KEY_TBL.RANK,FT_TBL.Description, FT_TBL.SubTitle FROM ContentDetail AS FT_TBL INNER JOIN CONTAINSTABLE( ContentDetail, * , 'ISABOUT (Cancer weight(1),Survivor weight(1), Shared weight(1), Story weight(1))' ) AS KEY_TBL ON FT_TBL.ContentDetailID = KEY_TBL.[KEY] ORDER BY KEY_TBL.RANK DESC
I've been driving myself nuts trying to get a sensible product search going. The existing live site search is just a LIKE %searchterm% on the Title field in our Products table. Fast, but not great ;) Talks between IT and Marketing have resulted in this being the desired results and order:
Exact Title match Substring Title match Substring Keywords match Substring Description match
OK, I can easily do this with UNION queries using LIKE (and a virtual "weight" column in each query), but the query takes too long. So I'm trying out SQL Server full text indexing, in an attempt to get the speed up (and the natural language stuff is just plain cool).
Where I'm running into problems is doing a FULLTEXT match on Description. It seems that to do a phrase match (e.g. "new york" should match only Descriptions where the phrase "new york" occurs) I need to enclose the search term in quotation marks in the query (or maybe single AND double quotes).
But using parameters in ASP.NET (which I'm supposed to do to avoid SQL injection attacks, yes?) I don't really have full control of the quoting - ASP.NET and/or SQL Server automagically quotes strings for me before passing them into the query. I think.
For example, this doesn't find any description matches: ========================================== Declare @theSearchTerm varchar(100), @theSearchTerm1 varchar(100)
set @theSearchTerm = "new york" set @theSearchTerm1 = "%new york%"
SELECT m.TitleCode, m.ShortName, m.ShortDescription, 50 as theWeight FROM Product m(NoLock) WHERE m.ShortName = @theSearchTerm
UNION
(SELECT m.TitleCode, m.ShortName, m.ShortDescription, 40 as theWeight FROM Product m(NoLock) WHERE m.ShortName LIKE @theSearchTerm1)
UNION
(SELECT m.TitleCode, m.ShortName, m.ShortDescription, 30 as theWeight FROM Product m(NoLock) WHERE CONTAINS(*, '"@theSearchTerm"'))
ORDER BY theWeight DESC, m.ShortName ==========================================
But this one (where I put in the actual string instead of using the parameter) *does* get the desired results, including matches in the Description: ========================================== Declare @theSearchTerm varchar(100), @theSearchTerm1 varchar(100)
set @theSearchTerm = "new york" set @theSearchTerm1 = "%new york%"
SELECT m.TitleCode, m.ShortName, m.ShortDescription, 50 as theWeight FROM Product m(NoLock) WHERE m.ShortName = @theSearchTerm
UNION
(SELECT m.TitleCode, m.ShortName, m.ShortDescription, 40 as theWeight FROM Product m(NoLock) WHERE m.ShortName LIKE @theSearchTerm1)
UNION
(SELECT m.TitleCode, m.ShortName, m.ShortDescription, 30 as theWeight FROM Product m(NoLock) WHERE CONTAINS(*, '"new york"'))
ORDER BY theWeight DESC, m.ShortName ==========================================
Trying various permutations of quotes around the parameter gives me either syntax errors or undesirable results.
Has anybody tried this sort of thing? How did you do it?
Hello group,Does anyone know how near a word needs to be to another word to beincluded in the results of a CONTAINS search that uses NEAR? Is thissetting adjustable? Is is stored in the registry? INI or config file?I'm using SQL Server 7 SP3.Thanks,Kelly GreerJoin Bytes!replace nospam with yahoo
hi all! i'm new and hoping you might help me - have searched E V E R Y W H E R E for this answer!!
--my ASP program is running on IIS box (call it "Lucy")
--my ASP program connects to SQL Server 2000 db on another box (call it "Linus") consisting of .doc, .xls, .PDF and the like
--all's well EXCEPT when PDFs are returned! sometimes browser gives blank screen instead of PDF <?> i figure iFilter will "cure" this.
--question: WHICH SERVER should iFilter be installed on? Lucy (where IIS is running & ASP program is) or Linus (where SQL Server does its full text indexing)?
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
'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()
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?
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
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?
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
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.
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?
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.
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?
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
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
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)
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...
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?
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.
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.
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?
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.