Re: Pier Search Component

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Pier Search Component

Lukas Renggli
Hi Chad,

> Search functionality is key to the cms project I am working on.
> However, the search component in Pier seems to be broken for me.  I
> get this error:

the search of Pier is very sophisticated, probably much more than
anybody wants. It is more like a query engine and supports its own
(strange) syntax that you obviously don't follow (therefor the strange
error, sorry) ;-)

See PRQueryTests to see some examples:

    " finds pages with a table "
    self kind = 'Table'

    " finds pages with external links to iam.unibe.ch "
    (self kind = 'External Link') & (self url matches: 'iam.unibe.ch')

To do a full text-search as you like, you might want to use the short
form like, but you need the quotes to make the parser happy:

    'foo'

I see that many people struggle with that (powerful) search engine. It
is very easy to come up with something much simpler, it is just a
matter of adding a new visitor class and to implement a few simple
methods to, if I remember this is described in our paper. I will come
up with a simple solution this weekend and send you a notification, if
time allows.

Cheers,
Lukas


> SmaCCParserError: Token not expected
>
>     * MARelationParser(SmaCCParser)>>reportErrorMessage:
>
>           self  a MARelationParser
>           temps
>           aString       'Token not expected'
>           inst vars
>           scanner       a MARelationScanner
>           currentToken  {(5,4,#(30))}
>           errorToken    {(5,4,#(30))}
>           stateStack    an OrderedCollection(1 13)
>           nodeStack     an OrderedCollection(#test)
>
>     * MARelationParser(SmaCCParser)>>reportError:
>
>           self  a MARelationParser
>           temps
>           anInteger     0
>           inst vars
>           scanner       a MARelationScanner
>           currentToken  {(5,4,#(30))}
>           errorToken    {(5,4,#(30))}
>           stateStack    an OrderedCollection(1 13)
>           nodeStack     an OrderedCollection(#test)
>
>     * MARelationParser(SmaCCParser)>>handleError:
>
>           self  a MARelationParser
>           temps
>           anInteger     0
>           inst vars
>           scanner       a MARelationScanner
>           currentToken  {(5,4,#(30))}
>           errorToken    {(5,4,#(30))}
>           stateStack    an OrderedCollection(1 13)
>           nodeStack     an OrderedCollection(#test)
>
>     * MARelationParser(SmaCCParser)>>performParsingLoop
>
>           self  a MARelationParser
>           temps
>           action        0
>           actionType    3
>           inst vars
>           scanner       a MARelationScanner
>           currentToken  {(5,4,#(30))}
>           errorToken    {(5,4,#(30))}
>           stateStack    an OrderedCollection(1 13)
>           nodeStack     an OrderedCollection(#test)
>
>     * MARelationParser(SmaCCParser)>>parse
>
>           self  a MARelationParser
>           temps
>           inst vars
>           scanner       a MARelationScanner
>           currentToken  {(5,4,#(30))}
>           errorToken    {(5,4,#(30))}
>           stateStack    an OrderedCollection(1 13)
>           nodeStack     an OrderedCollection(#test)
>
> Is there an easy fix for this?
>
> Thanks,
>
> Chad
>


--
Lukas Renggli
http://www.lukas-renggli.ch


_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pier Search Component

Lukas Renggli-2
I published a new snapshot of pier (http://mc.lukas-renggli.ch/pier)  
that replaces the query engine with a simple full-text search. If you  
have Scriptaculous loaded it even updates life while you type the  
expression, that demoes its speed.

Have fun,
Lukas

On 10 Feb 2006, at 18:14, Lukas Renggli wrote:

> Hi Chad,
>
>> Search functionality is key to the cms project I am working on.
>> However, the search component in Pier seems to be broken for me.  I
>> get this error:
>
> the search of Pier is very sophisticated, probably much more than
> anybody wants. It is more like a query engine and supports its own
> (strange) syntax that you obviously don't follow (therefor the strange
> error, sorry) ;-)
>
> See PRQueryTests to see some examples:
>
>     " finds pages with a table "
>     self kind = 'Table'
>
>     " finds pages with external links to iam.unibe.ch "
>     (self kind = 'External Link') & (self url matches: 'iam.unibe.ch')
>
> To do a full text-search as you like, you might want to use the short
> form like, but you need the quotes to make the parser happy:
>
>     'foo'
>
> I see that many people struggle with that (powerful) search engine. It
> is very easy to come up with something much simpler, it is just a
> matter of adding a new visitor class and to implement a few simple
> methods to, if I remember this is described in our paper. I will come
> up with a simple solution this weekend and send you a notification, if
> time allows.
>
> Cheers,
> Lukas
>
>
>> SmaCCParserError: Token not expected
>>
>>     * MARelationParser(SmaCCParser)>>reportErrorMessage:
>>
>>           self  a MARelationParser
>>           temps
>>           aString       'Token not expected'
>>           inst vars
>>           scanner       a MARelationScanner
>>           currentToken  {(5,4,#(30))}
>>           errorToken    {(5,4,#(30))}
>>           stateStack    an OrderedCollection(1 13)
>>           nodeStack     an OrderedCollection(#test)
>>
>>     * MARelationParser(SmaCCParser)>>reportError:
>>
>>           self  a MARelationParser
>>           temps
>>           anInteger     0
>>           inst vars
>>           scanner       a MARelationScanner
>>           currentToken  {(5,4,#(30))}
>>           errorToken    {(5,4,#(30))}
>>           stateStack    an OrderedCollection(1 13)
>>           nodeStack     an OrderedCollection(#test)
>>
>>     * MARelationParser(SmaCCParser)>>handleError:
>>
>>           self  a MARelationParser
>>           temps
>>           anInteger     0
>>           inst vars
>>           scanner       a MARelationScanner
>>           currentToken  {(5,4,#(30))}
>>           errorToken    {(5,4,#(30))}
>>           stateStack    an OrderedCollection(1 13)
>>           nodeStack     an OrderedCollection(#test)
>>
>>     * MARelationParser(SmaCCParser)>>performParsingLoop
>>
>>           self  a MARelationParser
>>           temps
>>           action        0
>>           actionType    3
>>           inst vars
>>           scanner       a MARelationScanner
>>           currentToken  {(5,4,#(30))}
>>           errorToken    {(5,4,#(30))}
>>           stateStack    an OrderedCollection(1 13)
>>           nodeStack     an OrderedCollection(#test)
>>
>>     * MARelationParser(SmaCCParser)>>parse
>>
>>           self  a MARelationParser
>>           temps
>>           inst vars
>>           scanner       a MARelationScanner
>>           currentToken  {(5,4,#(30))}
>>           errorToken    {(5,4,#(30))}
>>           stateStack    an OrderedCollection(1 13)
>>           nodeStack     an OrderedCollection(#test)
>>
>> Is there an easy fix for this?
>>
>> Thanks,
>>
>> Chad
>>
>
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
>
> _______________________________________________
> SmallWiki, Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki

--
Lukas Renggli
http://www.lukas-renggli.ch



_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pier Search Component

stéphane ducasse-2
excellent.
Lukas I will try to get some guys defining an advanced query  
component based on the previous
meta model oriented query engine....
but let's that I start to doubt about the abilities of certain  
students. Few are like you :)

Stef

On 10 févr. 06, at 20:19, Lukas Renggli wrote:

> I published a new snapshot of pier (http://mc.lukas-renggli.ch/pier)
> that replaces the query engine with a simple full-text search. If you
> have Scriptaculous loaded it even updates life while you type the
> expression, that demoes its speed.
>
> Have fun,
> Lukas
>
> On 10 Feb 2006, at 18:14, Lukas Renggli wrote:
>
>> Hi Chad,
>>
>>> Search functionality is key to the cms project I am working on.
>>> However, the search component in Pier seems to be broken for me.  I
>>> get this error:
>>
>> the search of Pier is very sophisticated, probably much more than
>> anybody wants. It is more like a query engine and supports its own
>> (strange) syntax that you obviously don't follow (therefor the  
>> strange
>> error, sorry) ;-)
>>
>> See PRQueryTests to see some examples:
>>
>>     " finds pages with a table "
>>     self kind = 'Table'
>>
>>     " finds pages with external links to iam.unibe.ch "
>>     (self kind = 'External Link') & (self url matches:  
>> 'iam.unibe.ch')
>>
>> To do a full text-search as you like, you might want to use the short
>> form like, but you need the quotes to make the parser happy:
>>
>>     'foo'
>>
>> I see that many people struggle with that (powerful) search  
>> engine. It
>> is very easy to come up with something much simpler, it is just a
>> matter of adding a new visitor class and to implement a few simple
>> methods to, if I remember this is described in our paper. I will come
>> up with a simple solution this weekend and send you a  
>> notification, if
>> time allows.
>>
>> Cheers,
>> Lukas
>>
>>
>>> SmaCCParserError: Token not expected
>>>
>>>     * MARelationParser(SmaCCParser)>>reportErrorMessage:
>>>
>>>           self  a MARelationParser
>>>           temps
>>>           aString       'Token not expected'
>>>           inst vars
>>>           scanner       a MARelationScanner
>>>           currentToken  {(5,4,#(30))}
>>>           errorToken    {(5,4,#(30))}
>>>           stateStack    an OrderedCollection(1 13)
>>>           nodeStack     an OrderedCollection(#test)
>>>
>>>     * MARelationParser(SmaCCParser)>>reportError:
>>>
>>>           self  a MARelationParser
>>>           temps
>>>           anInteger     0
>>>           inst vars
>>>           scanner       a MARelationScanner
>>>           currentToken  {(5,4,#(30))}
>>>           errorToken    {(5,4,#(30))}
>>>           stateStack    an OrderedCollection(1 13)
>>>           nodeStack     an OrderedCollection(#test)
>>>
>>>     * MARelationParser(SmaCCParser)>>handleError:
>>>
>>>           self  a MARelationParser
>>>           temps
>>>           anInteger     0
>>>           inst vars
>>>           scanner       a MARelationScanner
>>>           currentToken  {(5,4,#(30))}
>>>           errorToken    {(5,4,#(30))}
>>>           stateStack    an OrderedCollection(1 13)
>>>           nodeStack     an OrderedCollection(#test)
>>>
>>>     * MARelationParser(SmaCCParser)>>performParsingLoop
>>>
>>>           self  a MARelationParser
>>>           temps
>>>           action        0
>>>           actionType    3
>>>           inst vars
>>>           scanner       a MARelationScanner
>>>           currentToken  {(5,4,#(30))}
>>>           errorToken    {(5,4,#(30))}
>>>           stateStack    an OrderedCollection(1 13)
>>>           nodeStack     an OrderedCollection(#test)
>>>
>>>     * MARelationParser(SmaCCParser)>>parse
>>>
>>>           self  a MARelationParser
>>>           temps
>>>           inst vars
>>>           scanner       a MARelationScanner
>>>           currentToken  {(5,4,#(30))}
>>>           errorToken    {(5,4,#(30))}
>>>           stateStack    an OrderedCollection(1 13)
>>>           nodeStack     an OrderedCollection(#test)
>>>
>>> Is there an easy fix for this?
>>>
>>> Thanks,
>>>
>>> Chad
>>>
>>
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>>
>> _______________________________________________
>> SmallWiki, Magritte, Pier and Related Tools ...
>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
>
>
> _______________________________________________
> SmallWiki, Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki



_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki

_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pier Search Component

Lukas Renggli-2
> Lukas I will try to get some guys defining an advanced query
> component based on the previous meta model oriented query engine....

Yes, that would be interesting, since you can't expect a visitor of a  
web-site to be able to use a sort of query language. It can be  
interesting for administrators however, that want to look for very  
specific sites such as pages that have specific external links, or  
tables with more than 10 rows, or ...

It would be cool if the queries could be specified using a simple  
user-interface, that would allow you to specify the conditions using  
drop-downs, similar to what you have in Apple Mail, iTunes or in the  
Finder. I guess it would be too easy for a student project, I could  
come up with something simple in one afternoon, the meta-model is  
already there after all ... ;-)

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch



_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki