Hi Alessandro, Thank you for the details in your response and your interest in this.
Do you know if it might be coming in upcoming Solr releases? Thanks, Roopa On Wed, Jun 23, 2021 at 6:49 AM Alessandro Benedetti <a.benede...@sease.io> wrote: > Hi Roopa, > that's clearer now, thanks. > > I don't think there's any support for feature extraction from children when > calculating the feature vector of a parent. > It's an interesting feature though. > I would love to design and implement such functionality. > If you want to do that on your own I recommend working from the current > supported features implementations > (/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature) > > Cheers > -------------------------- > Alessandro Benedetti > Apache Lucene/Solr Committer > Director, R&D Software Engineer, Search Consultant > > www.sease.io > > > On Tue, 22 Jun 2021 at 19:47, Roopa Rao <roop...@gmail.com> wrote: > > > Hi Alessandro, > > > > Thanks for the response. > > > > I am using version Solr 6.6 > > > > Basically, I have parent documents and multiple child documents for each > > parent. > > I am trying to create features and get feature scores on parent > attributes > > (which is straightforward) and child attributes (which is what I am > looking > > for examples). > > And then rerank documents based on an LTR model which will use these > > features (on both parent & child). > > > > Enclosing the parent-child structure and the query construction (where > you > > can see I am using a child transformer) and also a sample feature, > current > > sample features score output. > > > > > > <doc> > > <str name="id">abc-1</str> > > <str name="unique_id_s">feature-1281835650</str> > > <str name="type">parent-docs</str> > > <str name="title_s">Parent title1 text1 </str> > > <str name="summary_s">Parent summary1 text2</str> > > > > <doc> > > <str name="id">child-doc-12345</str> > > <str name="unique_id_s">feature-1281835650</str> > > <str name="type">child-docs</str> > > <str name="child_doc_resource_id_s">9735</str> > > <str name="child_doc_resource_desc_s">A sample child doc > desc</str> > > <date name="child_doc_dt">2021-09-01T00:00:00Z</date> > > <arr name="child_doc_product_s_mult"> > > <str>productA</str> > > <str>productB</str> > > <str>productC</str> > > </arr> > > </doc> > > <doc> > > <str name="id">child-doc-56788</str> > > <str name="unique_id_s">feature-1281835650</str> > > <str name="type">child-docs</str> > > <str name="child_doc_resource_id_s">3426</str> > > <str name="child_doc_resource_desc_s">A sample child doc desc - > > 2</str> > > <date name="child_doc_dt">2021-09-02T00:00:00Z</date> > > <arr name="child_doc_product_s_mult"> > > <str>productD</str> > > <str>productE</str> > > <str>productF</str> > > </arr> > > </doc> > > </doc> > > > > Query construction: > > Get documents based on search of parent document attributes - title, > > summary. > > Get the corresponding child document in the response, filtered by > products > > eligible to, restrict to 1 (for display purposes). > > Rerank based on a model and get feature scores on both attributes on > parent > > and attributes on child. > > > > https://localhost:8983/testhandler?q=trying to > > > > > test&rows=100&start=0&q.op=AND&timeAllowed=20000&fl=id,score,title_s,summary_s,[features > > store=testFeatureStore],[explain]&fl=_childDocuments_&fl=[child > > parentFilter='type:parent-docs' childFilter='((type:(child-docs)) AND > > ({!terms f=child_doc_product_s_mult}productA,productD))' > > limit=1]&sort=score > > > > > desc&fq=(type:(parent-docs))&defType=edismax&df=title_qf_default&q.alt=*:*&pf=title_qf_default^2.0 > > title_qf_synonym^2.0&qf=title_qf_default^2.0 > > > summary_qf_default^1.0&sow=false&lowercaseOperators=false&tie=0.0&rq={!ltr > > model=testModel reRankDocs=100 efi.uq=$q} > > > > Here trying to create features for title_s match with uq (user query) - > > which works fine since it is on the parent. > > Sample feature: > > { > > "name": "feature_title_match", > > "class": "org.apache.solr.ltr.feature.SolrFeature", > > "params": { > > "q": "{!dismax qf=title_qf_default}${uq:none}" > > }, > > "store": "testFeatureStore" > > } > > > > Similarly I need to create features for child_doc_resource_desc_s match > > with uq (user query) and a few more features on child_doc attributes. > > > > Right now I am getting scores on the parent attributes as expected. > > > > *However writing features on the child document attributes and getting > > feature scores for them is what I am looking for:* > > Current Sample output: > > > > <str > > > > > name="[features]">originalScore=61.886406,feature_title_match=8.004536,feature_summary_match=3.340,feature_title_synonym_expansion=15.471601</str> > > > > Similarly want to build features: feature_child_doc_resource_desc which > > would give a feature score of user query matched with > > child_doc_resource_desc_s attribute of the child doc: > > > > So an output like this may be? or feature scores on child comes under > each > > child document not sure > > <str > > > > > name="[features]">originalScore=61.886406,feature_title_match=8.004536,feature_summary_match=3.340,feature_title_synonym_expansion=15.471601,feature_child_doc_resource_desc=value1</str> > > > > > > Thank you! > > Roopa > > > > On Tue, Jun 22, 2021 at 1:04 PM Alessandro Benedetti < > a.benede...@sease.io > > > > > wrote: > > > > > Hi Roopa, > > > can you elaborate a bit better? > > > Child documents are documents nonetheless, so you can query them, rank > > them > > > and re0rank them. > > > So, what are you trying to do? > > > Are you using any block join related query parsers? > > > Do you want to combine it with learning to rank? > > > How? > > > Let us know and we can try to help! > > > > > > -------------------------- > > > Alessandro Benedetti > > > Apache Lucene/Solr Committer > > > Director, R&D Software Engineer, Search Consultant > > > > > > www.sease.io > > > > > > > > > On Mon, 21 Jun 2021 at 19:12, Roopa Rao <roop...@gmail.com> wrote: > > > > > > > Hi, > > > > > > > > Is there a way to get the feature score on fields on the > childDocuments > > > in > > > > LTR. > > > > Note that there could be multiple childDocuments. > > > > > > > > If there are example features that can be provided which uses query > on > > > the > > > > child documents will be helpful > > > > > > > > Thank you, > > > > Roopa > > > > > > > > > >