[
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="[email protected]",
to="[email protected]",
edge="from=to",
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 starts from the node
[email protected] and searches for the node [email protected], traversing the
*edge* by iteratively joining the *from* and *to" columns. 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 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.
> 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="[email protected]",
> to="[email protected]",
> edge="from=to",
> 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 starts from the node
> [email protected] and searches for the node [email protected], traversing the
> *edge* by iteratively joining the *from* and *to" columns. 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: [email protected]
For additional commands, e-mail: [email protected]