[ 
https://issues.apache.org/jira/browse/SOLR-8888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joel Bernstein updated SOLR-8888:
---------------------------------
    Description: 
This ticket is to implement a distributed shortest path graph traversal as a 
Streaming Expression.

Expression syntax:

{code}
shortestPath(collection, 
                     from="node1", 
                     to="node2",
                     edge="colA=colB",
                     threads="6",
                     partitionSize="300", 
                     fq="limiting query", 
                     maxDepth="4")
{code}

The expression above performs a *breadth first search* to find the shortest 
path in an unweighted, directed graph. The search is performed  *from* node1 
*to* node2, traversing the *edge* *joining* colA to colB iteratively. Each 
level in the traversal is implemented as a *parallel partitioned* nested loop 
join across the entire *collection*. The *threads* parameter controls the 
number of threads performing the join at each level. The *partitionSize* 
controls the of number of nodes in each join partition. *maxDepth* controls the 
number of levels to traverse. *fq* is a limiting query applied to each level in 
the traversal.

Future implementations can add more capabilities such as weighted traversals.

  was:
This ticket is to implement a distributed shortest path graph traversal as a 
Streaming Expression.

Expression syntax:

{code}
shortestPath(collection, 
                     from="node1", 
                     to="node2",
                     edge="colA=colB",
                     threads="6",
                     partitionSize="300", 
                     fq="limiting query", 
                     maxDepth="4")
{code}

The expression above performs a *breadth first search* to find the shortest 
path in an unweighted, directed graph. The search is performed  *from* node1 
*to* node2, traversing the *edge* *joining* colA to colB iteratively. Each 
level in the traversal is implemented as a *parallel partitioned* nested loop 
join. The *threads* parameter controls the number of threads performing the 
join at each level. The *partitionSize* controls the of number of nodes in each 
join partition. *maxDepth* controls the number of levels to traverse. *fq* is a 
limiting query applied to each level in the traversal.

Future implementations can add more capabilities such as weighted traversals.


> Add shortestPath Streaming Expression
> -------------------------------------
>
>                 Key: SOLR-8888
>                 URL: https://issues.apache.org/jira/browse/SOLR-8888
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Joel Bernstein
>         Attachments: SOLR-8888.patch, SOLR-8888.patch, SOLR-8888.patch, 
> SOLR-8888.patch
>
>
> This ticket is to implement a distributed shortest path graph traversal as a 
> Streaming Expression.
> Expression syntax:
> {code}
> shortestPath(collection, 
>                      from="node1", 
>                      to="node2",
>                      edge="colA=colB",
>                      threads="6",
>                      partitionSize="300", 
>                      fq="limiting query", 
>                      maxDepth="4")
> {code}
> The expression above performs a *breadth first search* to find the shortest 
> path in an unweighted, directed graph. The search is performed  *from* node1 
> *to* node2, traversing the *edge* *joining* colA to colB iteratively. Each 
> level in the traversal is implemented as a *parallel partitioned* nested loop 
> join across the entire *collection*. The *threads* parameter controls the 
> number of threads performing the join at each level. The *partitionSize* 
> controls the of number of nodes in each join partition. *maxDepth* controls 
> the number of levels to traverse. *fq* is a limiting query applied to each 
> level in the traversal.
> Future implementations can add more capabilities such as weighted traversals.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to