Skip to main content.
home | support | download

Back to List Archive

Re: [swish-e] Re: Proximity for Swish-e/SwishCtl

From: Sean <schliden(at)not-real.gmail.com>
Date: Fri Feb 01 2008 - 09:06:44 GMT
Herman,

Thanks for getting back to me.

So, If I register swishctl.dll on the iis server, I should then be
able to instantiate it directly from .asp using:

Set swishctl = Server.CreateObject("SwishCtl.CSwishCtl")

I read that the index location needs to be set in the server registry.

But I assume that I can specify the index files from .asp using:
swishctl.Init("index1.idx")

and then:

strResult = swishctl.Execute("test")
response.write strResult

Is this remotely on track ? (I must be doing something wrong, as it is
not working)

How do I interpret the error numbers returned by response.write
swishctl.Error  ?

TIA

Sean



On Jan 31, 2008 9:51 PM, Herman Knoops <hk.sw@knoman.com> wrote:
>
> Sean,
>
> There is no additional COM component required to make
> Swish-E (using swishctl.dll), work in an ASP or ASPX
> environment on Windows with IIS (also w2k3). Just for
> our convenience, we've created an extra COM component,
> to make life easier in cleaning up the user query
> and assembling the query for Swish-E. These steps
> could also be performed in scripting, but we've decided
> for an extra compiled VB COM component (which also
> generates the final output).
>
> So if you're feeling well in the ASP script environment,
> just call the SwishCtl API methods/properties directly.
>
> Herman Knoops
> KnoMan b.v.
> The Netherlands
>
>
> > -----Original Message-----
> > From: Sean [mailto:schliden@gmail.com]
> > Sent: Thursday, January 31, 2008 3:56 AM
> > To: Multiple recipients of list
> > Subject: Re: [SWISH-E] Re: Proximity for Swish-e/SwishCtl
> >
> >
> > Herman,
> >
> > I have had this email flagged for follow-up and now that I am
> > migrating a site to w2k3 server with iis6, I thought this might be the
> > time.
> >
> > I have downloaded your windows binary swishctl.dll.
> >
> > I take it from the original thread that I also need a COM component,
> > in order to search directly from asp.
> >
> > Do you make that component available, and can you provide brief
> > instructions for installing and calling ?
> >
> > Thanks
> >
> > Sean
> >
> >
>
> > On May 14, 2006 7:29 AM, Herman Knoops <...> wrote:
> > >
> > > > > We've added some required features:
> > > > > - wildcard support for "?" (exactly one character)
> > > > > - proximity search support with variable distance
> > > > >   (e.g. bike near50 car)
> > > >
> > > > Excellent.
> > >
> > > Remember, the current proximity search is implemented as
> > > a special case of boolean "and". We did not bother yet
> > > with complex searches (parenthesis). It works perfectly
> > > well for indexing PDF files which are converted to XML.
> > > Example:
> > >   <myddoc>
> > >     <title>  content  </title>
> > >     <author>  content  </author>
> > >     <docbody>
> > >       [text version of pdf filter]
> > >     </docbody>
> > >   </mydoc>
> > > The need for proximity was high, because a simple "and"
> > > is not really useful if you have many 100 page documents.
> > > A simple "bike" and "car" would give a hit even if e.g.
> > > "bike" is on page 1 and "car" is on page 100. Now we can
> > > limit the number of returned documents drastically.
> > >
> > >
> > > > > We've also modified SwishCtl.dll (Windows) slightly to:
> > > > > - let it work in an ASP-environment on IIS (4.0 or higher);
> > > > > - let it run smoothly from CD/DVD, without msgboxes
> > > > >   and without registry access
> > > >
> > > > Can SwishCtl be run by a normal user instead of an Administrator?  One
> > > > of the registry problems was that the DLL had to be registered by an
> > > > Administrator before it could be run.
> > >
> > > The SwishCtl is an ATL/COM component, which indeed must be
> > > registered. In an ASP/IIS environment this is not a problem,
> > > since the administrator has to register it only once.
> > > In a CD environment, we use a tiny but very powerful ASP webserver
> > > (third party, licensed), which takes care of so-called
> > > "volatile registration" of COM components, so the user does
> > > not have to install anything. Just insert the CD and all
> > > components are "registered" on-the-fly (even on very locked
> > > down systems). Subsequently enter some search criteria,
> > > do search, select the desired (pdf-)document, open it and
> > > the search terms are highlighted in the native pdf-viewer.
> > >
> > > We have modified the way SwishCtl determines the location of
> > > the index, and the index itself. So no registry access is
> > > required for this anymore (because was not handy for CD-users
> > > in a locked-down environment). The call has 2 formats:
> > > 1.      swishctl.Init('@@KM@@h:/test.kmt/kmt/idx/+docs.idx');
> > >   OR
> > > 2.      swishctl.Init('IndexFiles');
> > > Option 1 is the new way, where the actual path is assembled
> > > at run time, which makes sure you can run multiple search
> > > applications from all different locations on a single machine.
> > > The pattern "@@KM@@" is a hard-coded pattern, present in the
> > > current source+binary of this SwishCtl.dll, so we can
> > > differentiate between the "registry" way or the more flexible
> > > "full path" way.
> > >
> > > > > - removed several dependencies (zlib.dll and atl.dll),
> > > > >   so now just SwishCtl is sufficient, for a search-only
> > > > >   solution
> > > >
> > > > Adding ASP support and dropping the ATL requirement sound like great
> > > > improvements.  I'll see about getting those changes integrated.
> > > > I think the ATL dependency is why I couldn't build using the MinGW32
> > > > compiler.  Perhaps I'll be able to provide SwishCtl along with the
> > > > Windows builds again.
> > >
> > > SwishCtl.dll has minimal changes. As far as the ATL stuff concerns,
> > > we use the macro /D "ATL_STATIC_REGISTRY" in the MSVC6 configuration,
> > > which makes sure some ATL code is statically incorporated (dependency
> > > to ATL.dll is gone). For ZLIB we use the zlibstat.lib, which is also
> > > statically linked. The final result is the 276KB SwishCtl.dll which
> > > only has dependencies to the regular Windows system DLLs.
> > >
> > > SwishCtl.dll itself does not have ASP stuff in it. We created a new
> > > COM component, which is instantiiated in an ASP-file (CreateObject).
> > > This component has all the ASP-stuff in it and creates and calls the
> > > SwishCtl component. The COM component on top takes care of cleaning
> > > up and validating the user input, before the "search criteria" and
> > > boolean stuff is handed over to SwishCtl.
> > >
> > > Hope this clarifies things a bit.
> > >
> > > Herman Knoops
> > > KnoMan b.v.
> > > The Netherlands
> > >
> > >
> > >
> > >
>
>
_______________________________________________
Users mailing list
Users@lists.swish-e.org
http://lists.swish-e.org/listinfo/users
Received on Fri Feb 1 04:06:49 2008