For now I have no need to increase those settings. I might reconsider when the users of my software ask for it.
Sent by FoxWeb Support on 11/13/2015 11:02:25 AM:
The limit on the number of results is determined by the MaxHits and MaxHitsPercent properties. There is no limit on the number of results fwFullTextSearch can return. In fact, the error is returned after the query is performed.
The reason for having this limit is to help you avoid retrieving too many (presumably large) records from the table containing the text fields. Searches that return too many results are usually not very helpful, so the user might as well provide a more restrictive search string.
If you want, you can increase the default values of MaxHits and MaxHitsPercent.
Sent by Boudewijn lutgerink on 11/13/2015 12:03:54 AM:
Did a check with the errors
What came out is that there seems to be a restriction on the number of records that the search will return.
I did one search on cContent (the memo field) alone and that gave me 849 records and the message to make the search more restrictive.
Now, that is something I can work with.
P.S. Thanks for your patience with this newbie on your tool.
Sent by FoxWeb Support on 11/12/2015 04:32:20 PM:
The _TALLY variable will not necessarily be set to the correct value, which is why we provide the LastSearchTally property.
The return value of the Search method will tell you if the search had errors (regardless of whether it found any matches). The Errors property will give you additional information in the case of errors during search. The LastSearchTally property will return the number of records matching your search criteria.
Sent by Boudewijn lutgerink on 11/12/2015 07:08:40 AM:
I did create a small program file to check for the following.
First, here is the program code:
#define crlf CHR(13)+CHR(10)
oFullText = NEWOBJECT('classFullText', 'fwFullText9.fxp')
m.ofulltext.table = "tblArticles"
M.FTSearchResult = oFullText.Search(;
MESSAGEBOX("oFullText.LastSearchTally returns "+TRANSFORM(oFullText.LastSearchTally)+crlf+;
" _Tally returns "+TRANSFORM(_tally))
the weird thing is that _tally returns a value of 855 and oFullText.LastSearchTally returns a value of 0.
My of the pants guess is that the search method performs a SQL select statement thus influencing the _tally system variable. (My guess is also based on the fact that a cursor is returned).
I always assume I overlook something when working with 3rd party software, so please tell me where I am wrong in my assumptions that oFullText.LastSearchTally is returning a wrong value.
Sent by FoxWeb Support on 11/11/2015 06:06:28 PM:
The fact that the Search method returned .T. does not mean that the search yielded results. This is what the LastSearchTally property is for. Search only returns .F. if there's an error.
Take a look at the code used by the sample form ftexample.scx:
Of course the fact that you use the wrong indicator to determine if the search yielded results does not explain why your wildcard search fails. You may want to use the example form with your own table to eliminate any errors in your search code. Just run the form and update the fields in the Create Index tab to select your own table.
Please post your findings here.
Sent by Boudewijn lutgerink on 11/10/2015 03:16:24 PM:
here's the URL: https://www.youtube.com/watch?v=Lajf2MpBdUA
as you can see in the above video the only difference is the use of wildcards or not. When I do NOT use wildcards the crsSearch is found, when I do use wildcards the crsSearch is NOT found even though m.lSuccess returns .T.
Sent by FoxWeb Support on 11/06/2015 07:57:32 PM:
How large is the video? If it's up to 20MB, you can send it via email to email@example.com. If not, I suggest that you post it as an unlisted video on YouTube and send us the URL.
Sent by Boudewijn lutgerink on 11/06/2015 06:54:26 AM:
Working on my application I found a problem with doing searches with wildcards. I can make a video of it so you can see what I am doing and what I mean with it. Is there a way I send you this small video?