Hmmmm....
Looking at swish-e, it's clear that it's a more powerful approach, but...

If I want to keep life simple and have everything running from witango -
even if I won't get all the swish-e bells and whistles, is there a better
approach? Or am I hearing that witango isn't really a good tool for this
task?


On 10/19/04 8:15 AM, "Bill Conlon" <[EMAIL PROTECTED]> wrote:

> Then, maybe spidering the forum content is the easiest way to do this.
> It will let you do free form searching.  The cgi script included with
> swish-e will highlight found terms, and let the user apply various
> restrictions.
> 
> The other thing is you don't have to worry about a SQL injection attack.
> 
> On Tuesday, October 19, 2004, at 08:06  AM, Roland Dumas wrote:
> 
>> It's a search function for a forum. Dynamic popups won't work here,
>> because
>> it's a search of subject and content, which would overwhelm a selection
>> menu.
>> 
>> My thoughts were like this:
>> 
>> User's Search string = first argument
>> Search string parsed (by space and comma) and the articles tossed out.
>> That
>> leaves an array of words within the first argument. The first argument
>> and
>> the remaning substrings comprise all the OR conditions you want.
>> 
>> Option 1:
>> Generate SQL from a <@ROWS> that just appends a series of OR
>> statements to
>> the SELECT command.(easiest to do, but least secure)
>> 
>> Option 2: Write a taf in XML, using the <@ROWS> to create a custom
>> <Criteria> section in a temporary taf that is just the search action,
>> and
>> then call that action with a branch/return. (typos will crash tango
>> server -
>> venturing into deep unknown)
>> 
>> Option 3: Do a For loop for each of the substrings and glue all the
>> resultsets together (slow and painful)
>> 
>> 
>> 
>> Then, when you've got the amalgamated found set of records with whole
>> string
>> or substrings, figure a way to bubble up to the top the whole strings
>> or
>> items of greater value.
>> 
>> 
>> 
>> On 10/19/04 7:13 AM, "Bill Conlon" <[EMAIL PROTECTED]> wrote:
>> 
>>> Full text indexing can be expensive if your application does a lot of
>>> inserts/updates into columns that are indexed, but things like the
>>> winery/varietal shouldn't be a problem if you want to get it out of
>>> the
>>> db.
>>> 
>>> If it's a problem for your users, then maybe you can build a selection
>>> list from the available choices.  Or maybe you need something akin
>>> auto-complete:  run a javascript keyboard event handler that populates
>>> your input field based on the characters typed so far.
>>> 
>>> On Tuesday, October 19, 2004, at 06:59  AM, John McGowan wrote:
>>> 
>>>> Don't some newer databases have full text indexing now.  (I believe
>>>> MSSQL calls the feature "Full-Text Search")
>>>> Wouldn't the best solution be to use a database that supports that
>>>> type of searching?
>>>> 
>>>> If this functionality isn't available to you in your DB then I would
>>>> suggest you still use swish-e like Bill suggests...
>>>> 
>>>> 1. create a "dummy site" that will have a unique page for every
>>>> record
>>>> in the table that you're looking for.
>>>>    www.mysite.com/dbindex/main.taf
>>>> 2. when you hit main.taf it generates a link to each record in the
>>>> table you care about
>>>>    www.mysite.com/dbindex/main.taf?id=xxxxx
>>>>    www.mysite.com/dbindex/main.taf?id=yyyyy
>>>>    www.mysite.com/dbindex/main.taf?id=zzzzzz
>>>> 
>>>> (if you're familiar with witango this should take you about 5 minutes
>>>> to accomplish)
>>>> 
>>>> 3. Tell swish-e to index the site by hitting the initial main.taf
>>>> url.
>>>> 
>>>> 4. now when you want to do a full text search of the table, you call
>>>> swish-e's searching functionality.  it will return a list of the
>>>> matching entries.
>>>>    www.mysite.com/dbindex/main.taf?id=aaaaa
>>>>    www.mysite.com/dbindex/main.taf?id=bbbbb
>>>>    www.mysite.com/dbindex/main.taf?id=cccccc
>>>> 
>>>> 5. Of course at this point you know that if you strip out the
>>>> "www.mysite.com/dbindex/main.taf?id="  You will have the part of the
>>>> url that you care about, the aaaaa,bbbbb,ccccc  which should be in a
>>>> ranked order, and now you can do with that information whatever you
>>>> want.
>>>> 
>>>> 6. Schedule the re running of step 3. at some interval that satisfies
>>>> your need for accuracy vs. performance.
>>>> 
>>>> 
>>>> Of course this all assumes you're doing this for 1 particular table.
>>>> However, if you had more than 1 table you could still do it all by
>>>> adding a little more code to your main.taf and some more logic to the
>>>> part that stripps the url to get the important part.
>>>> 
>>>> 
>>>> /John
>>>> 
>>>> 
>>>> 
>>>> Roland Dumas wrote:
>>>> 
>>>>> But, we're talking about a search of a database.
>>>>> 
>>>>> 
>>>>> 
>>>>> On 10/18/04 5:59 PM, "Bill Conlon" <[EMAIL PROTECTED]> wrote:
>>>>> 
>>>>> 
>>>>>> Roland,
>>>>>> 
>>>>>> You've heard this from me before on this list.  Take a look at
>>>>>> swish-e.
>>>>>>  You could use its built-in spider to index your site, and then use
>>>>>> the
>>>>>> built-in cgi-script to highlight your results.  It's really a great
>>>>>> piece of software.
>>>>>> 
>>>>>> Now if you take the swish-e approach, here's what I would do to
>>>>>> solve
>>>>>> this.
>>>>>> 
>>>>>> Dyanmically create metatags for the key parameters you want to
>>>>>> search:
>>>>>> 
>>>>>> <meta name="vineyard" content="Chateau Lafite, Chateau, Lafite">
>>>>>> <meta name="varietal" content="Pinot Noir, Pinot, Noir">
>>>>>> etc.
>>>>>> 
>>>>>> Use witango to tokenize while creating the HTML pages for the
>>>>>> various
>>>>>> wines.
>>>>>> 
>>>>>> Then use swish-e's meta name search.
>>>>>> 
>>>>>> 
>>>>>> On Monday, October 18, 2004, at 05:39  PM, Roland Dumas wrote:
>>>>>> 
>>>>>> 
>>>>>>> In search engines, when you submit a search string, the search
>>>>>>> engine
>>>>>>> first
>>>>>>> tokenizes and then searches for each substring string separately
>>>>>>> and
>>>>>>> then
>>>>>>> brings them together as your found set. So if I search for 1961
>>>>>>> Chateau
>>>>>>> Lafite, I'll get items with 1961, others with Chateau or Chateu
>>>>>>> Lafite, and
>>>>>>> on top will be the found records with 1961 Chateau Lafite (I know,
>>>>>>> if
>>>>>>> you
>>>>>>> put it in quotes, it forces it to find only the whole string. That
>>>>>>> part is
>>>>>>> easy)
>>>>>>> 
>>>>>>> They will also rank a find of the full set of terms above ones
>>>>>>> with
>>>>>>> one or
>>>>>>> two terms in the documents.
>>>>>>> 
>>>>>>> Questions:
>>>>>>> 
>>>>>>> What's the approach with witango that will enable the search of
>>>>>>> tokenized
>>>>>>> strings.
>>>>>>> 
>>>>>>> Any ideas on how to do a crude ranking, such that the full term
>>>>>>> comes
>>>>>>> up on
>>>>>>> top of the found set?
>>>>>>> 
>>>>>>> 
>>>>>>> __________________________________________________________________
>>>>>>> __
>>>>>>> ___
>>>>>>> _
>>>>>>> TO UNSUBSCRIBE: Go to
>>>>>>> http://www.witango.com/developer/maillist.taf
>>>>>>> 
>>>>>>> 
>>>>>> ___________________________________________________________________
>>>>>> __
>>>>>> ___
>>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> -----------------------------------------
>>>>> Roland Dumas
>>>>> Roberts Information Services
>>>>> 310 W. Bellevue Avenue
>>>>> San Mateo CA 94402
>>>>> 650-347-1373
>>>>> 415-412-9300 (cell)
>>>>> [EMAIL PROTECTED]
>>>>> SMS: http://new.servqual.com/html/sms.tml
>>>>> 
>>>>> 
>>>>> ____________________________________________________________________
>>>>> __
>>>>> __
>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>>>> 
>>>>> 
>>>> _____________________________________________________________________
>>>> __
>>>> _
>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>>> 
>>> 
>>> ______________________________________________________________________
>>> __
>>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>> 
>> 
>> 
>> -----------------------------------------
>> Roland Dumas
>> Roberts Information Services
>> 310 W. Bellevue Avenue
>> San Mateo CA 94402
>> 650-347-1373
>> 415-412-9300 (cell)
>> [EMAIL PROTECTED]
>> SMS: http://new.servqual.com/html/sms.tml
>> 
>> 
>> _______________________________________________________________________
>> _
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>> 
> 
> ________________________________________________________________________
> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
> 


-----------------------------------------
Roland Dumas
Roberts Information Services
310 W. Bellevue Avenue
San Mateo CA 94402
650-347-1373
415-412-9300 (cell)
[EMAIL PROTECTED]
SMS: http://new.servqual.com/html/sms.tml


________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

Reply via email to