everything is still going to be running from witango... i have sites that use swish-e to do the spidering and indexing of the site, but every thing about the presentation of the site still 100% witango. i just call swish-e like any other external action.

Look at it this way, you could probably write a bunch of Witango code to try to simulate the full text searching that would be available by using swish-e or a database that has that feature built in, but why would you. The whole reason Witango was made extensible in the first place was so that you could leverage third party tools (COM objects, JavaBeans, EXE command line programs) to solve problems.

/John

Roland Dumas wrote:

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



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

Reply via email to