-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/72567/
-----------------------------------------------------------

(Updated June 30, 2020, 1:09 p.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
-------

**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 (updated)
-------

Added testcases
Precommit : https://builds.apache.org/job/PreCommit-ATLAS-Build-Test/1999


Thanks,

Pinal Shah

Reply via email to