No concrete feedback for the refactor (i.e. move to SolrJ) you've got underway.
But I just wanted to add a note of encouragement and a +1 to the general idea. If it's done right a query-builder would be a huge boost for Solr's users IMO! Good luck w/ the refactor Geoffrey and thanks for bringing this up! Jason On Sun, Aug 18, 2024 at 4:36 PM Geoffrey Slinker <geoffrey_slin...@yahoo.com.invalid> wrote: > > I will refactor my idea to be found under SolrJ. Also, I will refactor trying > to better fit the domain terminology. > > After I get the refactoring finished I will post a new message. > > If there are those that have time to look at the branch that is in my fork of > Apache Solr, especially at the classes and then how to use them in the unit > tests I hope they might share more guidance on the subject matter. > > For example, a QueryTerm has a value, may have a field, and may have options > such as proximity, fuzziness, boost, or a constant score. > > title: "pink panther" - is an example of a QueryTerm in my current > implementation. Other examples: > title: "pink panther"~2^0.3 (proximity and boost) > "pink panther"^=1.4 (default field and constant score) > firstname:maria~2 (fuzziness) > > A QueryTermGroup contains query terms and other query term groups. I think > these are probably known as sub-queries. > An example of a group: > ( title:"treasure island"^0.5 title:"war and peace"^0.5 )^2.0 A group that > has two terms that each have a boost and the entire group has a boost. > > A query term group can have its own boost or constant score. > > Geoffrey > > > > On Aug 17, 2024, at 10:36 PM, David Smiley <dsmi...@apache.org> wrote: > > > > Perhaps Solr could adopt Elastic's Java QueryBuilder API, more or > > less?: > > https://artifacts.elastic.co/javadoc/co/elastic/clients/elasticsearch-java/8.15.0/co/elastic/clients/elasticsearch/_types/query_dsl/package-summary.html > > Is this what you referred to? It needs an example (like what you > > shared for your builder), which I didn't find. First iteration could > > be a minimal useful subset that grows as people have the inclination > > to do so. Of course Elastic's outputs Elastic JSON; we'd probably do > > Solr's "lucene" syntax with local-params when needed. Solr Query DSL > > is an option but (A) I think most users would prefer something more > > compact & simple for the basic use-cases, and (B) the JSON query DSL > > can only be used in a couple places; there is no QParser for it > > (although there could/should be one easily). > > > >> What is the proper domain name for: > >> title:"pink panther" > > > > In Lucene-speak, this is a PhraseQuery. Although a query parser will > > usually run the query analysis chain on it, which can produce > > different or additional terms that will show up in the actual > > PhraseQuery. Lucene's QueryBuilder will do this. I imagine a SolrJ > > QueryBuilder would/could have a .fieldQuery(fieldName,foobar) and the > > phrase vs single term matter is a detail in the output based on > > whether the foobar value has spaces or not (here it didn't). > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org > > For additional commands, e-mail: dev-h...@solr.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org > For additional commands, e-mail: dev-h...@solr.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org For additional commands, e-mail: dev-h...@solr.apache.org