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