> You guys are in need of more documentation. I hope I’m not hurting any > feelings, that is not my intention. I can't imagine anyone would. In a sense that's what this mailing list is for- to share what works, what doesn't, and what's really lacking. Thanks for chiming in.
Jason On Sat, Dec 1, 2018 at 12:56 PM Erick Erickson <erickerick...@gmail.com> wrote: > > Thomas: > > All contributions welcome! Opensource software lives and dies by > people stepping up and contributing when they see something they want > to improve, come join the club and help make it better. > > Here's the basics of getting started: > https://wiki.apache.org/solr/HowToContribute > > The part you care most about is probably getting the source code, > which includes the reference guide source (all the *.adoc files). In > essence, the process is > > create a logon for the Lucene/Solr JIRA, this should get you in the right > > vicinity: https://issues.apache.org/jira/projects/SOLR/issues/ > > pull the source (including docs) > > make whatever changes you want > > create a JIRA describing your changes > > attach a patch (or a pull request if you're git-savvy) to the JIRA > > prompt for a committer to push it to the repo. > > Here's a bit about documentation in particular: > https://lucene.apache.org/solr/guide/7_0/how-to-contribute.html > > Don't be too worried about working with AsciiDoc, just download Atom. > Or if you use IntelliJ (and I assume Eclipse) or your favorite editor > supports an AsciiDoc plugin use that. > > Best, > Erick > On Sat, Dec 1, 2018 at 9:31 AM Thomas L. Redman <tomred...@mchsi.com> wrote: > > > > Hi Jason. You Solr folks are really on top of things, I thank you Cassandra > > and Shawn for all the excellent support. > > > > Short story, I can wait. I am building a 1.0 version of a new tool to query > > our very complex and large (100M docs) datastore, not to find individual > > documents, but to find subsets of the data suitable for end users (Social > > Science mostly) researchers. As soon as we get to 7.6/8.0, I will work > > toward a 1.1 release to include the improved grouping, nested faceting and > > so on. To know this is even in the pipe makes my day. > > > > You guys are in need of more documentation. I hope I’m not hurting any > > feelings, that is not my intention. Solr is a top shelf product, and I > > would not be one to minimize all the hard work. I think I agree with you > > Jason, some additions to the existing tutorial to cover more complex query > > capabilities would probably do the trick. I don’t think you need 600 pages > > like the Solr Ref Guide document. This will make more sense to do when we > > get to the 8.0 release (or the next release including JSON API support). I > > retire next year, may have some free time to build a more extensive query > > exemplar and document that. Is there a formal procedure I need to adhere to > > if I want to contribute? > > > > > > > > > On Nov 30, 2018, at 10:40 AM, Jason Gerlowski <gerlowsk...@gmail.com> > > > wrote: > > > > > > Hi Thomas, > > > > > > I recently added a first pass at JSON faceting support to SolrJ. The > > > main classes are "JsonQueryRequest" and "DirectJsonQueryRequest" and > > > live in the package "org.apache.solr.client.solrj.request.json" > > > (https://github.com/apache/lucene-solr/tree/master/solr/solrj/src/java/org/apache/solr/client/solrj/request/json). > > > I've also added examples of how to use this code on the "JSON > > > Faceting" page in the Solr ref guide. Unfortunately, since this is a > > > recent addition it hasn't been released yet. These classes will be in > > > the next 7x release (if there is one), or in 8.0 when that arrives. > > > This probably isn't super helpful for you. > > > > > > Without this code, you have a few options: > > > > > > 1. If the facet requests you'd like to make are relatively > > > structured/similar, you can subclass QueryRequest and override > > > getContentWriter(). "ContentWriters" are the abstraction SolrJ is > > > using to write out the request body. So you can trivially implement > > > getContentWriter to wrap a hardcoded string with some templated > > > variables. If interested, also checkout > > > "RequestWriter.StringPayloadContentWriter". This'll be sufficient for > > > very cookie cutter facet requests, where maybe only a few parameters > > > change but nothing else. > > > 2. If hardcoding a string JSON body is too inflexible, the JSON > > > faceting API is "just query params" like everything else. You can > > > build your facet request and attach it to the request as a SolrParams > > > entry. Doing this wouldn't be the most fun code to write, but it's > > > always possible. > > > 3. You can copy-paste the unreleased JSON faceting helper classes I > > > mentioned above into your codebase. They're not released in SolrJ but > > > you can still use them by copying them locally and using those copies > > > until you're able to use a SolrJ that contains these classes. If you > > > go this route, please let me or someone else in the community know > > > your thoughts. Their being unreleased makes them a bit more of a pain > > > to use, but it also gives us an opportunity to iterate and improve > > > them before a release comes and ties us to the existing (maybe awful) > > > interfaces. > > > > > >> It would be wonderful if a document of this caliber was provided solely > > >> for SolrJ in the form of a tutorial. > > > We definitely need more "SolrJ Examples" coverage, though I'm not sure > > > the best way to expose/structure that. Solr has a *ton* of API > > > surface area, and SolrJ is responsible for covering all of it. Even > > > if I imagine a SolrJ version of the standard "Getting Started" > > > tutorial which shows users how to create a collection, index docs, do > > > a query, and do a faceting request...that'd only cover a fraction of > > > what's out there. It might be easier to scale our SolrJ examples by > > > integrating them into the pages we already have for individual APIs > > > instead. I'm all for a SolrJ tutorial, or SolrJ Cookbook sort of > > > thing if you like those ideas better though, and would also volunteer > > > to help edit or review things in that area. > > > > > > Sorry, this got a little long. But hope that helps. > > > > > > Best, > > > > > > Jason > > > On Fri, Nov 30, 2018 at 11:31 AM Cassandra Targett > > > <casstarg...@gmail.com> wrote: > > >> > > >> Support for the JSON Facet API in SolrJ was very recently committed via > > >> https://issues.apache.org/jira/browse/SOLR-12965 > > >> <https://issues.apache.org/jira/browse/SOLR-12965>. This missed the > > >> cut-off for 7.6 but will be included in 7.7 (if there is one) and/or > > >> 8.0. You may be able to use the patch there to see if there are gaps or > > >> bugs that could be fixed before 7.7 / 8.0. > > >> > > >> Jason, who did the work on that issue, also presented on SolrJ at the > > >> Activate conference, you may find it interesting: > > >> https://www.youtube.com/watch?v=ACPUR_GL5zM > > >> <https://www.youtube.com/watch?v=ACPUR_GL5zM> > > >> > > >> If you do find the time to write some docs, I’d be happy to give you > > >> some editing help. Just open a Jira issue when/if you’ve got something > > >> and we can go from there. > > >> > > >>> On Nov 30, 2018, at 9:53 AM, Thomas L. Redman <tomred...@mchsi.com> > > >>> wrote: > > >>> > > >>> Hi Shawn, thanks for the prompt reply! > > >>> > > >>>> On Nov 29, 2018, at 4:55 PM, Shawn Heisey <apa...@elyograg.org> wrote: > > >>>> > > >>>> On 11/29/2018 2:01 PM, Thomas L. Redman wrote: > > >>>>> Hi! I am wanting to do nested facets/Grouping/Expand-Collapse using > > >>>>> SolrJ, and I can find no API for that. I see I can add a pivot field, > > >>>>> I guess to a query in general, but that doesn’t seem to work at all, > > >>>>> I get an NPE. The documentation on SolrJ is sorely lacking, the > > >>>>> documentation I have found is less than a readme. Are there any books > > >>>>> that provided a good tretise on SolrJ specifically? Does SolrJ > > >>>>> support these more advanced features? > > >>>> > > >>>> I don't have any specific details for that use case. > > >>> > > >>> Check out page 498 of the PDF, that includes a brief but powerful > > >>> discussion of the JSON Facet API. For just one example, I am interested > > >>> in faceting a nominal field within a date range bucket. Example: I want > > >>> to facet publication_date field into YEAR buckets, and within each YEAR > > >>> bucket, facet on author to get the most prolific authors in that year, > > >>> AND to also facet genre with the same bucket to find out how much > > >>> scifi, adventure and so on was produced that year. From what I am > > >>> seeing, beyond pivots(and pivots won’t support this specific use case), > > >>> I don’t see this capability is supported by the SolrJ API, but this is > > >>> a hugely powerful feature, and needs to be supported. > > >>> > > >>> Furthermore, I want to be able to support a vaste range of facets > > >>> within a single query, perhaps including some collapse and expand, > > >>> groupings and so on. > > >>> > > >>>> > > >>>> If you share the code that gives you NPE, somebody might be able to > > >>>> help you get it working. > > >>> > > >>> I haven’t looked in to this enough to drop it in somebody elses' lap at > > >>> this point, I suspect I am not using the API correctly. And since this > > >>> won’t allow what I want, I’m not too worried about it. > > >>> > > >>>> > > >>>> The best place to find documentation for SolrJ is actually SolrJ > > >>>> itself -- the javadocs. Much of that can be accessed pretty easily if > > >>>> you are using an IDE to do your development. Here is a link to the > > >>>> top level of the SolrJ javadocs: > > >>>> > > >>>> https://lucene.apache.org/solr/7_5_0/solr-solrj/index.html > > >>>> <https://lucene.apache.org/solr/7_5_0/solr-solrj/index.html> > > >>> > > >>> The JavaDocs are limited. I surmise from tracing the code a bit though > > >>> that I need to rely less on methods provided directly by SolrQuery, and > > >>> add parameters using methods of the superclasses more frequently. Those > > >>> superclass methods add simply key value pairs. Still not sure this will > > >>> allow me the flexibility I need, particularly if the JSON Facet API is > > >>> not supported. > > >>> > > >>>> > > >>>> There's some documentation here, in the official reference guide: > > >>>> > > >>>> https://lucene.apache.org/solr/guide/7_5/using-solrj.html > > >>>> <https://lucene.apache.org/solr/guide/7_5/using-solrj.html> > > >>> > > >>> This is an excellent document. It would be wonderful if a document of > > >>> this caliber was provided solely for SolrJ in the form of a tutorial. > > >>> The existing online tutorial says nothing about how to do anything > > >>> beyond a simple query. I notice in this document most of the examples > > >>> of how to issue queries, for example, use curl to issue query. Simply > > >>> put, this is not a practical approach for the typical user. That being > > >>> the case, people need to build real UIs around applications that hide > > >>> the intricacies of the search API. I would rather not build my own API, > > >>> since SolrJ is already in place, and seems quite powerful. I have been > > >>> using it for a few years, but really just to do queries. > > >>> > > >>> I might be interested in contributing to such a document, provided it > > >>> is sufficiently succinct. I find myself quite busy these days. But I > > >>> think I would really have to ramp up my understanding of SolrJ to be of > > >>> any use. Is there any such document in the works, or any interested > > >>> parties? I am NOT a good writer, I would need somebody to review my > > >>> work for both accuracy and grammar. > > >>> > > >>> Also, if the JSON API supported by SolrJ, or is there any plan to > > >>> support? > > >> > >