-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/72567/
-----------------------------------------------------------
(Updated June 30, 2020, 10:04 a.m.)
Review request for atlas, Jayendra Parab, Madhan Neethiraj, Nixon Rodrigues,
and Sarath Subramanian.
Bugs: ATLAS-3782
https://issues.apache.org/jira/browse/ATLAS-3782
Repository: atlas
Description (updated)
-------
**Issue:**
The operator 'SearchParameters.Operator.NOT_CONTAINS' is defined and
implemented in SearchProcessors. It would allow a search of entities that do
not contain in given string in a specified attribute (eg exclude entities from
search that contain 'temp' in the qualified name).
**WorkAround:**
JanusGraph doesn't allow NOT_CONTAINS operator. So we will handle this in
inmemory
BasicSearch generates query via three modes
1. Index query -> NOT_CONTAINS will not be supported
2. InMemeory Predicates -> NOT_CONTAINS will be supported, Already handled #123
SearchProcessor
3. Graph query -> NOT_CONTAINS will not be supported
As in index and graph query wiil not support not_Contains operator, We need to
apply filter(inMemoryPredicate) after either index/graph query.
To support above, I have modified ClassificationSearchProcessor
+ For both cases index as well as graph, added typeNamePredicate and
attributePredicate
+ Added these predicate after query
- Removed gremlinQuery block
**Operator Value:**
It can be either "not_contains" or "NOT_CONTAINS"
**Note:**
As part of this jira, not_contains is also added in quick search.
Diffs
-----
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasSolrQueryBuilder.java
6c06a3cbe
repository/src/main/java/org/apache/atlas/discovery/ClassificationSearchProcessor.java
9c72cd4a2
repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
c9a605355
repository/src/test/java/org/apache/atlas/BasicTestSetup.java 8b98b3990
repository/src/test/java/org/apache/atlas/discovery/AtlasDiscoveryServiceTest.java
PRE-CREATION
repository/src/test/java/org/apache/atlas/discovery/BasicSearchClassificationTest.java
9b16e919d
repository/src/test/java/org/apache/atlas/discovery/EntitySearchProcessorTest.java
b7ce97845
Diff: https://reviews.apache.org/r/72567/diff/4/
Testing
-------
Added testcases
Precommit : https://builds.apache.org/job/PreCommit-ATLAS-Build-Test/1952
Precommit : https://builds.apache.org/job/PreCommit-ATLAS-Build-Test/1983
Thanks,
Pinal Shah