Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
84f4f103
Commit
84f4f103
authored
7 years ago
by
Sarath Subramanian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-2371: Basic search issue with IndexSerializer
parent
4c2f7bf2
master
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
80 additions
and
34 deletions
+80
-34
Constants.java
.../src/main/java/org/apache/atlas/repository/Constants.java
+2
-0
AtlasJanusGraph.java
...pache/atlas/repository/graphdb/janus/AtlasJanusGraph.java
+34
-2
AtlasJanusIndexQuery.java
.../atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java
+1
-2
EntityDiscoveryService.java
...va/org/apache/atlas/discovery/EntityDiscoveryService.java
+5
-2
FullTextSearchProcessor.java
...a/org/apache/atlas/discovery/FullTextSearchProcessor.java
+1
-1
SearchProcessor.java
...main/java/org/apache/atlas/discovery/SearchProcessor.java
+21
-20
AtlasGraphUtilsV1.java
...he/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java
+16
-7
No files found.
common/src/main/java/org/apache/atlas/repository/Constants.java
View file @
84f4f103
...
...
@@ -100,6 +100,8 @@ public final class Constants {
public
static
final
String
INDEX_SEARCH_MAX_RESULT_SET_SIZE
=
"atlas.graph.index.search.max-result-set-size"
;
public
static
final
String
INDEX_SEARCH_TYPES_MAX_QUERY_STR_LENGTH
=
"atlas.graph.index.search.types.max-query-str-length"
;
public
static
final
String
INDEX_SEARCH_TAGS_MAX_QUERY_STR_LENGTH
=
"atlas.graph.index.search.tags.max-query-str-length"
;
public
static
final
String
INDEX_SEARCH_VERTEX_PREFIX_PROPERTY
=
"atlas.graph.index.search.vertex.prefix"
;
public
static
final
String
INDEX_SEARCH_VERTEX_PREFIX_DEFAULT
=
"$v$"
;
public
static
final
String
MAX_FULLTEXT_QUERY_STR_LENGTH
=
"atlas.graph.fulltext-max-query-str-length"
;
public
static
final
String
MAX_DSL_QUERY_STR_LENGTH
=
"atlas.graph.dsl-max-query-str-length"
;
...
...
This diff is collapsed.
Click to expand it.
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java
View file @
84f4f103
...
...
@@ -21,7 +21,10 @@ import com.google.common.base.Function;
import
com.google.common.collect.Iterables
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
org.apache.atlas.ApplicationProperties
;
import
org.apache.atlas.AtlasException
;
import
org.apache.atlas.type.AtlasType
;
import
org.apache.commons.configuration.Configuration
;
import
org.janusgraph.core.Cardinality
;
import
org.janusgraph.core.JanusGraphFactory
;
import
org.janusgraph.core.PropertyKey
;
...
...
@@ -30,7 +33,6 @@ import org.janusgraph.core.JanusGraph;
import
org.janusgraph.core.JanusGraphIndexQuery
;
import
org.janusgraph.core.schema.JanusGraphIndex
;
import
org.janusgraph.core.schema.JanusGraphManagement
;
import
org.janusgraph.core.util.JanusGraphCleanup
;
import
org.apache.atlas.AtlasErrorCode
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.groovy.GroovyExpression
;
...
...
@@ -70,6 +72,9 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Set
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
INDEX_SEARCH_VERTEX_PREFIX_DEFAULT
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
INDEX_SEARCH_VERTEX_PREFIX_PROPERTY
;
/**
* Janus implementation of AtlasGraph.
*/
...
...
@@ -77,6 +82,8 @@ public class AtlasJanusGraph implements AtlasGraph<AtlasJanusVertex, AtlasJanusE
private
final
ConvertGremlinValueFunction
GREMLIN_VALUE_CONVERSION_FUNCTION
=
new
ConvertGremlinValueFunction
();
private
static
Configuration
APPLICATION_PROPERTIES
=
null
;
private
final
class
ConvertGremlinValueFunction
implements
Function
<
Object
,
Object
>
{
@Override
public
Object
apply
(
Object
input
)
{
...
...
@@ -184,7 +191,9 @@ public class AtlasJanusGraph implements AtlasGraph<AtlasJanusVertex, AtlasJanusE
@Override
public
AtlasIndexQuery
<
AtlasJanusVertex
,
AtlasJanusEdge
>
indexQuery
(
String
fulltextIndex
,
String
graphQuery
,
int
offset
)
{
JanusGraphIndexQuery
query
=
getGraph
().
indexQuery
(
fulltextIndex
,
graphQuery
).
offset
(
offset
);
String
prefix
=
getIndexQueryPrefix
();
JanusGraphIndexQuery
query
=
getGraph
().
indexQuery
(
fulltextIndex
,
graphQuery
).
setElementIdentifier
(
prefix
).
offset
(
offset
);
return
new
AtlasJanusIndexQuery
(
this
,
query
);
}
...
...
@@ -432,4 +441,27 @@ public class AtlasJanusGraph implements AtlasGraph<AtlasJanusVertex, AtlasJanusE
multiProperties
.
addAll
(
names
);
}
public
String
getIndexQueryPrefix
()
{
String
ret
;
initApplicationProperties
();
if
(
APPLICATION_PROPERTIES
==
null
)
{
ret
=
INDEX_SEARCH_VERTEX_PREFIX_DEFAULT
;
}
else
{
ret
=
APPLICATION_PROPERTIES
.
getString
(
INDEX_SEARCH_VERTEX_PREFIX_PROPERTY
,
INDEX_SEARCH_VERTEX_PREFIX_DEFAULT
);
}
return
ret
;
}
private
void
initApplicationProperties
()
{
if
(
APPLICATION_PROPERTIES
==
null
)
{
try
{
APPLICATION_PROPERTIES
=
ApplicationProperties
.
get
();
}
catch
(
AtlasException
ex
)
{
// ignore
}
}
}
}
This diff is collapsed.
Click to expand it.
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusIndexQuery.java
View file @
84f4f103
...
...
@@ -32,8 +32,7 @@ import org.janusgraph.core.JanusGraphVertex;
* Janus implementation of AtlasIndexQuery.
*/
public
class
AtlasJanusIndexQuery
implements
AtlasIndexQuery
<
AtlasJanusVertex
,
AtlasJanusEdge
>
{
private
AtlasJanusGraph
graph
;
private
AtlasJanusGraph
graph
;
private
JanusGraphIndexQuery
query
;
public
AtlasJanusIndexQuery
(
AtlasJanusGraph
graph
,
JanusGraphIndexQuery
query
)
{
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java
View file @
84f4f103
...
...
@@ -42,6 +42,7 @@ import org.apache.atlas.repository.graphdb.AtlasGraph;
import
org.apache.atlas.repository.graphdb.AtlasIndexQuery
;
import
org.apache.atlas.repository.graphdb.AtlasIndexQuery.Result
;
import
org.apache.atlas.repository.graphdb.AtlasVertex
;
import
org.apache.atlas.repository.store.graph.v1.AtlasGraphUtilsV1
;
import
org.apache.atlas.repository.store.graph.v1.EntityGraphRetriever
;
import
org.apache.atlas.repository.userprofile.UserProfileService
;
import
org.apache.atlas.type.AtlasArrayType
;
...
...
@@ -95,6 +96,7 @@ public class EntityDiscoveryService implements AtlasDiscoveryService {
private
final
int
maxResultSetSize
;
private
final
int
maxTypesLengthInIdxQuery
;
private
final
int
maxTagsLengthInIdxQuery
;
private
final
String
indexSearchPrefix
;
private
final
UserProfileService
userProfileService
;
@Inject
...
...
@@ -110,6 +112,7 @@ public class EntityDiscoveryService implements AtlasDiscoveryService {
this
.
maxResultSetSize
=
ApplicationProperties
.
get
().
getInt
(
Constants
.
INDEX_SEARCH_MAX_RESULT_SET_SIZE
,
150
);
this
.
maxTypesLengthInIdxQuery
=
ApplicationProperties
.
get
().
getInt
(
Constants
.
INDEX_SEARCH_TYPES_MAX_QUERY_STR_LENGTH
,
512
);
this
.
maxTagsLengthInIdxQuery
=
ApplicationProperties
.
get
().
getInt
(
Constants
.
INDEX_SEARCH_TAGS_MAX_QUERY_STR_LENGTH
,
512
);
this
.
indexSearchPrefix
=
AtlasGraphUtilsV1
.
getIndexSearchPrefix
();
this
.
userProfileService
=
userProfileService
;
}
...
...
@@ -642,7 +645,7 @@ public class EntityDiscoveryService implements AtlasDiscoveryService {
queryText
.
append
(
classificationFilter
);
}
return
String
.
format
(
"v.
\"%s\":(%s)"
,
Constants
.
ENTITY_TEXT_PROPERTY_KEY
,
queryText
.
toString
());
return
String
.
format
(
indexSearchPrefix
+
"
\"%s\":(%s)"
,
Constants
.
ENTITY_TEXT_PROPERTY_KEY
,
queryText
.
toString
());
}
private
List
<
AtlasFullTextResult
>
getIndexQueryResults
(
AtlasIndexQuery
query
,
QueryParams
params
,
boolean
excludeDeletedEntities
)
throws
AtlasBaseException
{
...
...
@@ -681,7 +684,7 @@ public class EntityDiscoveryService implements AtlasDiscoveryService {
}
private
AtlasIndexQuery
toAtlasIndexQuery
(
String
fullTextQuery
)
{
String
graphQuery
=
String
.
format
(
"v.
\"%s\":(%s)"
,
Constants
.
ENTITY_TEXT_PROPERTY_KEY
,
fullTextQuery
);
String
graphQuery
=
String
.
format
(
indexSearchPrefix
+
"
\"%s\":(%s)"
,
Constants
.
ENTITY_TEXT_PROPERTY_KEY
,
fullTextQuery
);
return
graph
.
indexQuery
(
Constants
.
FULLTEXT_INDEX
,
graphQuery
);
}
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/discovery/FullTextSearchProcessor.java
View file @
84f4f103
...
...
@@ -44,7 +44,7 @@ public class FullTextSearchProcessor extends SearchProcessor {
SearchParameters
searchParameters
=
context
.
getSearchParameters
();
StringBuilder
queryString
=
new
StringBuilder
();
queryString
.
append
(
"v.
\""
).
append
(
Constants
.
ENTITY_TEXT_PROPERTY_KEY
).
append
(
"\":("
).
append
(
searchParameters
.
getQuery
());
queryString
.
append
(
INDEX_SEARCH_PREFIX
+
"
\""
).
append
(
Constants
.
ENTITY_TEXT_PROPERTY_KEY
).
append
(
"\":("
).
append
(
searchParameters
.
getQuery
());
// if search includes entity-type criteria, adding a filter here can help avoid unnecessary
// processing (and rejection) by subsequent EntitySearchProcessor
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/discovery/SearchProcessor.java
View file @
84f4f103
...
...
@@ -60,56 +60,57 @@ public abstract class SearchProcessor {
public
static
final
int
MAX_RESULT_SIZE
=
getApplicationProperty
(
Constants
.
INDEX_SEARCH_MAX_RESULT_SET_SIZE
,
150
);
public
static
final
int
MAX_QUERY_STR_LENGTH_TYPES
=
getApplicationProperty
(
Constants
.
INDEX_SEARCH_TYPES_MAX_QUERY_STR_LENGTH
,
512
);
public
static
final
int
MAX_QUERY_STR_LENGTH_TAGS
=
getApplicationProperty
(
Constants
.
INDEX_SEARCH_TAGS_MAX_QUERY_STR_LENGTH
,
512
);
public
static
final
String
AND_STR
=
" AND "
;
public
static
final
String
EMPTY_STRING
=
""
;
public
static
final
String
SPACE_STRING
=
" "
;
public
static
final
String
BRACE_OPEN_STR
=
"("
;
public
static
final
String
BRACE_CLOSE_STR
=
")"
;
public
static
final
String
INDEX_SEARCH_PREFIX
=
AtlasGraphUtilsV1
.
getIndexSearchPrefix
();
public
static
final
String
AND_STR
=
" AND "
;
public
static
final
String
EMPTY_STRING
=
""
;
public
static
final
String
SPACE_STRING
=
" "
;
public
static
final
String
BRACE_OPEN_STR
=
"("
;
public
static
final
String
BRACE_CLOSE_STR
=
")"
;
private
static
final
Map
<
SearchParameters
.
Operator
,
String
>
OPERATOR_MAP
=
new
HashMap
<>();
private
static
final
Map
<
SearchParameters
.
Operator
,
VertexAttributePredicateGenerator
>
OPERATOR_PREDICATE_MAP
=
new
HashMap
<>();
static
{
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
LT
,
"v.
\"%s\": [* TO %s}"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
LT
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": [* TO %s}"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
LT
,
getLTPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
GT
,
"v.
\"%s\": {%s TO *]"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
GT
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": {%s TO *]"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
GT
,
getGTPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
LTE
,
"v.
\"%s\": [* TO %s]"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
LTE
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": [* TO %s]"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
LTE
,
getLTEPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
GTE
,
"v.
\"%s\": [%s TO *]"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
GTE
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": [%s TO *]"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
GTE
,
getGTEPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
EQ
,
"v.
\"%s\": %s"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
EQ
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": %s"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
EQ
,
getEQPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
NEQ
,
"-"
+
"v.
\"%s\": %s"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
NEQ
,
"-"
+
INDEX_SEARCH_PREFIX
+
"
\"%s\": %s"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
NEQ
,
getNEQPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
IN
,
"v.
\"%s\": (%s)"
);
// this should be a list of quoted strings
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
IN
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": (%s)"
);
// this should be a list of quoted strings
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
IN
,
getINPredicateGenerator
());
// this should be a list of quoted strings
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
LIKE
,
"v.
\"%s\": (%s)"
);
// this should be regex pattern
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
LIKE
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": (%s)"
);
// this should be regex pattern
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
LIKE
,
getLIKEPredicateGenerator
());
// this should be regex pattern
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
STARTS_WITH
,
"v.
\"%s\": (%s*)"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
STARTS_WITH
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": (%s*)"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
STARTS_WITH
,
getStartsWithPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
ENDS_WITH
,
"v.
\"%s\": (*%s)"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
ENDS_WITH
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": (*%s)"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
ENDS_WITH
,
getEndsWithPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
CONTAINS
,
"v.
\"%s\": (*%s*)"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
CONTAINS
,
INDEX_SEARCH_PREFIX
+
"
\"%s\": (*%s*)"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
CONTAINS
,
getContainsPredicateGenerator
());
// TODO: Add contains any, contains all mappings here
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
IS_NULL
,
"(*:* NOT
v.
\"%s\":[* TO *])"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
IS_NULL
,
"(*:* NOT
"
+
INDEX_SEARCH_PREFIX
+
"
\"%s\":[* TO *])"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
IS_NULL
,
getIsNullPredicateGenerator
());
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
NOT_NULL
,
"v.
\"%s\":[* TO *]"
);
OPERATOR_MAP
.
put
(
SearchParameters
.
Operator
.
NOT_NULL
,
INDEX_SEARCH_PREFIX
+
"
\"%s\":[* TO *]"
);
OPERATOR_PREDICATE_MAP
.
put
(
SearchParameters
.
Operator
.
NOT_NULL
,
getNotNullPredicateGenerator
());
}
...
...
@@ -247,7 +248,7 @@ public abstract class SearchProcessor {
indexQuery
.
append
(
AND_STR
);
}
indexQuery
.
append
(
"v.
\""
).
append
(
Constants
.
TYPE_NAME_PROPERTY_KEY
).
append
(
"\":"
).
append
(
typeAndAllSubTypesQryStr
);
indexQuery
.
append
(
INDEX_SEARCH_PREFIX
+
"
\""
).
append
(
Constants
.
TYPE_NAME_PROPERTY_KEY
).
append
(
"\":"
).
append
(
typeAndAllSubTypesQryStr
);
}
}
...
...
@@ -329,7 +330,7 @@ public abstract class SearchProcessor {
indexQuery
.
append
(
AND_STR
);
}
indexQuery
.
append
(
"v.
\""
).
append
(
Constants
.
STATE_PROPERTY_KEY
).
append
(
"\":ACTIVE"
);
indexQuery
.
append
(
INDEX_SEARCH_PREFIX
+
"
\""
).
append
(
Constants
.
STATE_PROPERTY_KEY
).
append
(
"\":ACTIVE"
);
}
private
boolean
isIndexSearchable
(
FilterCriteria
filterCriteria
,
AtlasStructType
structType
)
throws
AtlasBaseException
{
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java
View file @
84f4f103
...
...
@@ -52,25 +52,30 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Set
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
INDEX_SEARCH_VERTEX_PREFIX_DEFAULT
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
INDEX_SEARCH_VERTEX_PREFIX_PROPERTY
;
/**
* Utility methods for Graph.
*/
public
class
AtlasGraphUtilsV1
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
AtlasGraphUtilsV1
.
class
);
public
static
final
String
PROPERTY_PREFIX
=
Constants
.
INTERNAL_PROPERTY_KEY_PREFIX
+
"type."
;
public
static
final
String
SUPERTYPE_EDGE_LABEL
=
PROPERTY_PREFIX
+
".supertype"
;
public
static
final
String
ENTITYTYPE_EDGE_LABEL
=
PROPERTY_PREFIX
+
".entitytype"
;
public
static
final
String
VERTEX_TYPE
=
"typeSystem"
;
public
static
final
String
PROPERTY_PREFIX
=
Constants
.
INTERNAL_PROPERTY_KEY_PREFIX
+
"type."
;
public
static
final
String
SUPERTYPE_EDGE_LABEL
=
PROPERTY_PREFIX
+
".supertype"
;
public
static
final
String
ENTITYTYPE_EDGE_LABEL
=
PROPERTY_PREFIX
+
".entitytype"
;
public
static
final
String
RELATIONSHIPTYPE_EDGE_LABEL
=
PROPERTY_PREFIX
+
".relationshipType"
;
public
static
final
String
VERTEX_TYPE
=
"typeSystem"
;
private
static
boolean
USE_INDEX_QUERY_TO_FIND_ENTITY_BY_UNIQUE_ATTRIBUTES
=
false
;
private
static
String
INDEX_SEARCH_PREFIX
;
static
{
try
{
Configuration
conf
=
ApplicationProperties
.
get
();
USE_INDEX_QUERY_TO_FIND_ENTITY_BY_UNIQUE_ATTRIBUTES
=
conf
.
getBoolean
(
"atlas.use.index.query.to.find.entity.by.unique.attributes"
,
USE_INDEX_QUERY_TO_FIND_ENTITY_BY_UNIQUE_ATTRIBUTES
);
INDEX_SEARCH_PREFIX
=
conf
.
getString
(
INDEX_SEARCH_VERTEX_PREFIX_PROPERTY
,
INDEX_SEARCH_VERTEX_PREFIX_DEFAULT
);
}
catch
(
Exception
excp
)
{
LOG
.
error
(
"Error reading configuration"
,
excp
);
}
finally
{
...
...
@@ -478,12 +483,16 @@ public class AtlasGraphUtilsV1 {
private
static
AtlasIndexQuery
getIndexQuery
(
AtlasEntityType
entityType
,
String
propertyName
,
String
value
)
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"v.
\""
).
append
(
Constants
.
TYPE_NAME_PROPERTY_KEY
).
append
(
"\":"
).
append
(
entityType
.
getTypeAndAllSubTypesQryStr
())
sb
.
append
(
INDEX_SEARCH_PREFIX
+
"
\""
).
append
(
Constants
.
TYPE_NAME_PROPERTY_KEY
).
append
(
"\":"
).
append
(
entityType
.
getTypeAndAllSubTypesQryStr
())
.
append
(
" AND "
)
.
append
(
"v.
\""
).
append
(
propertyName
).
append
(
"\":"
).
append
(
AtlasAttribute
.
escapeIndexQueryValue
(
value
))
.
append
(
INDEX_SEARCH_PREFIX
+
"
\""
).
append
(
propertyName
).
append
(
"\":"
).
append
(
AtlasAttribute
.
escapeIndexQueryValue
(
value
))
.
append
(
" AND "
)
.
append
(
"v.
\""
).
append
(
Constants
.
STATE_PROPERTY_KEY
).
append
(
"\":ACTIVE"
);
.
append
(
INDEX_SEARCH_PREFIX
+
"
\""
).
append
(
Constants
.
STATE_PROPERTY_KEY
).
append
(
"\":ACTIVE"
);
return
AtlasGraphProvider
.
getGraphInstance
().
indexQuery
(
Constants
.
VERTEX_INDEX
,
sb
.
toString
());
}
public
static
String
getIndexSearchPrefix
()
{
return
INDEX_SEARCH_PREFIX
;
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment