Thanks for your reply.

I couldn't make it work. Everything went fine when I applied the patch and
compiled Solr, but I couldn't use the FunctionQuery with it.

My FunctionQuery accesses the field "text" in the document, however the
parent doesn't have that field, so the plugin raises an exception. When I
suppress the exception and return the minimum value instead, nothing
happens.

*Example of my query:*
"q": "*:*",
"parent_filter": "content_type:parent"
"child_filter": "content_type:child"
"indent": "true"
"fl": "*,[child parentFilter=$parent_filter childFilter=$child_filter]"
"fq": "{!parent which=$parent_filter v=$child_filter scoreMode=Max}"
"sort": "analyzeText(text) desc"

*Another example for what I'm doing in the FunctionQuery plugin (This isn't
the original code):*
 public FunctionValues getValues(Map map, AtomicReaderContext
atomicReaderContext) throws IOException {
                
        final FunctionValues values =
mValueSource.getValues(map,atomicReaderContext);

        return new FunctionValues() {
            @Override
            public float floatVal(int i) {
                String value = values.strVal(i);

                if(value == null || value.isEmpty()) {
                    return Float.NaN;
                }

                return value.length();
            ...
            ...
            ...
            Other functions that use the and returns the floatVal value


Very grateful for your help,

Dor
 


Mikhail Khludnev wrote
> pickup the patch https://issues.apache.org/jira/browse/SOLR-5882 and/or
> chase committers.
> 
> On Fri, Jun 5, 2015 at 10:35 AM, DorZion <

> Dorzion@

> > wrote:
> 
>> Hey,
>>
>> I'm using Solr 5.0.0 and I'm trying to sort documents with
>> FunctionQueries.
>> The problem is that I'm trying to sort those documents with their child
>> documents elements.
>>
>> Here is an example:
>> I have three documents, one is parent, the others are child documents
>> (_childDocuments_).
>>
>> {
>> "id": "ArticleGuid",
>> "title" : "Sorting Child Documents",
>> "content_type": "article",
>> "_childDocuments_": [
>>   {
>>     "id": "CommentGuid",
>>     "content_type": "comment",
>>     "text": "CommentText"
>>   },
>>   {
>>     "id": "CommentGuid2",
>>     "content_type": "comment",
>>     "text": "CommentText"
>>   }
>> ]
>> }
>> *
>> * This is just an example, the schema and the data aren't real.*
>>
>> I want to analyze & run an algorithm on the comments text, then sort the
>> parent documents by it - *This would work with FunctionQuery, if I had
>> one
>> comment for each article and didn't use child documents*.
>> I tried to use the LeafReadContext to get the children, but with no luck.
>>
>> Is there any way to reach the children through FunctionQuery, or even use
>> something else to do what I want?
>>
>>
>> Thanks in advance,
>>
>> Dor
>>
>>
>>
>> --
>> View this message in context:
>> http://lucene.472066.n3.nabble.com/Sorting-documents-by-nested-child-docs-with-FunctionQueries-tp4209940.html
>> Sent from the Solr - User mailing list archive at Nabble.com.
>>
> 
> 
> 
> -- 
> Sincerely yours
> Mikhail Khludnev
> Principal Engineer,
> Grid Dynamics
> 
> <http://www.griddynamics.com>
> <

> mkhludnev@

> >





--
View this message in context: 
http://lucene.472066.n3.nabble.com/Sorting-documents-by-nested-child-docs-with-FunctionQueries-tp4209940p4210646.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to