<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Lexers are parsers are not difficult (a simple ANTLR grammar takes very little effort, for example), but that is orthoginal to this discussion. I believe the very term DSL is misleading (since DSL implies a separate grammar), but this is more for an intuitive builder API for query creation. And yes, while this does imply knowledge of the API, it is certainly far less verbose and more expressive than the existing query construction mechanism.</div><div><br></div><div>Perhaps as a next step, a grammar can be built on top of this.</div><div><br></div><div>- Manik</div><div><br></div><br><div><div>On 25 Sep 2009, at 18:41, Navin Surtani wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Incase this email didn't go to the full dev-list. I got it as a separate thread so forwarding on.<br><div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>From: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica"><a href="mailto:johng.sst@gmail.com">johng.sst@gmail.com</a></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>Date: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">25 September 2009 16:00:53 BST</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>To: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Navin Surtani <<a href="mailto:nsurtani@redhat.com">nsurtani@redhat.com</a>></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>Subject: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica"><b>Re: Re: [hibernate-dev] [infinispan-dev] [HSearch] DSL for Lucene<span class="Apple-converted-space"> </span>queries (was: Re: Query module new</b></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> </div>All,<br><br>I think Hardy's original push back came from the first pass' use of the decorator pattern to try to come up with a DSL. That really isn't much better than knowing the API. The alternate is to come up with a more natural language implementation but that leads to parsers, lexers, etc... I'm not saying it's not worth while but it may be a lot of work.<br><br>John Griffin<br><br>On Sep 25, 2009 8:12am, Navin Surtani <<a href="mailto:nsurtani@redhat.com">nsurtani@redhat.com</a>> wrote:<br>> Just wanted to get this topic re-started again.<br>> <br>> <br>> <br>> <br>> <br>> Essentially what I think this project/DSL/module/thingy-bob is thought<br>> <br>> to become: -<br>> <br>> <br>> <br>> A simple package where a user can build Lucene queries without having<br>> <br>> to know too much about Lucene itself. If I'm headed down the wrong<br>> <br>> thought path then just thwack me.<br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> On 26 Aug 2009, at 21:08, Hardy Ferentschik wrote:<br>> <br>> <br>> <br>> > On Wed, 2009-08-26 at 13:39 +0200, Emmanuel Bernard wrote:<br>> <br>> >> I've been thinking about a DSL to build Lucene queries in the last<br>> <br>> >> day.<br>> <br>> >> What do you think of this proposal?<br>> <br>> ><br>> <br>> > What do you really gain compared to native Lucene queries?<br>> <br>> <br>> <br>> What's gained I believe is the fact that people can build complex<br>> <br>> lucene queries easier. Currently, it's a bit clunky imo so if we<br>> <br>> provide a cleaner way to build them it can prove beneficial to any<br>> <br>> lucene user (myself included for querying on Infinispan).<br>> <br>> <br>> <br>> Any other thoughts?<br>> <br>> <br>> <br>> <br>> <br>> > If your API achieves exactly the same as what's possible with Lucene<br>> <br>> > it is just a 'useless' wrapper.<br>> <br>> ><br>> <br>> > A wrapper around native Lucene queries would make sense if it could<br>> <br>> > somehow use some of the Hibernate Search specific meta data. As an<br>> <br>> > extreme example one could generate some meta classes a la JPA2. This<br>> <br>> > way<br>> <br>> > one could ensure that you can get help with which field names are<br>> <br>> > available.<br>> <br>> ><br>> <br>> > --Hardy<br>> <br>> ><br>> <br>> > _______________________________________________<br>> <br>> > infinispan-dev mailing list<br>> <br>> > <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>> <br>> > <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>> <br>> <br>> <br>> Navin Surtani<br>> <br>> <br>> <br>> Intern Infinispan<br>> <br>> Intern JBoss Cache Searchable<br>> <br>> <br>> <br>> _______________________________________________<br>> <br>> hibernate-dev mailing list<br>> <br>> <a href="mailto:hibernate-dev@lists.jboss.org">hibernate-dev@lists.jboss.org</a><br>> <br>> <a href="https://lists.jboss.org/mailman/listinfo/hibernate-dev">https://lists.jboss.org/mailman/listinfo/hibernate-dev</a><br>></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Navin Surtani</div><div><br></div><div>Intern Infinispan</div><div>Intern JBoss Cache Searchable</div></div></span> </div><br></div>_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/infinispan-dev</blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org">manik@jboss.org</a></div><div>Lead, Infinispan</div><div>Lead, JBoss Cache</div><div><a href="http://www.infinispan.org">http://www.infinispan.org</a></div><div><a href="http://www.jbosscache.org">http://www.jbosscache.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br></body></html>