java.lang.Object
com.erudika.para.core.search.MockSearch
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<P extends ParaObject>
PSimple id search.<P extends ParaObject>
PSimple id search.<P extends ParaObject>
List<P> Simple multi id search.<P extends ParaObject>
List<P> Simple multi id search.<P extends ParaObject>
List<P> findNearby
(String type, String query, int radius, double lat, double lng, Pager... pager) Search forAddress
objects in a radius of X km from a given point.<P extends ParaObject>
List<P> findNearby
(String appid, String type, String query, int radius, double lat, double lng, Pager... pager) Search forAddress
objects in a radius of X km from a given point.<P extends ParaObject>
List<P> findNestedQuery
(String type, String field, String query, Pager... pager) Searches within a nested field.<P extends ParaObject>
List<P> Searches within a nested field.<P extends ParaObject>
List<P> findPrefix
(String type, String field, String prefix, Pager... pager) Searches for objects that have a property which value starts with a given prefix.<P extends ParaObject>
List<P> Searches for objects that have a property which value starts with a given prefix.<P extends ParaObject>
List<P> Query string search.<P extends ParaObject>
List<P> Query string search.<P extends ParaObject>
List<P> Searches for objects that have similar property values to a given text.<P extends ParaObject>
List<P> findSimilar
(String appid, String type, String filterKey, String[] fields, String liketext, Pager... pager) Searches for objects that have similar property values to a given text.<P extends ParaObject>
List<P> findTagged
(String type, String[] tags, Pager... pager) Searches for objects tagged with one or more tags.<P extends ParaObject>
List<P> findTagged
(String appid, String type, String[] tags, Pager... pager) Searches for objects tagged with one or more tags.<P extends ParaObject>
List<P> Searches forTag
objects.<P extends ParaObject>
List<P> Searches forTag
objects.<P extends ParaObject>
List<P> Searches for objects having a property value that is in list of possible values.<P extends ParaObject>
List<P> findTermInList
(String type, String field, List<?> terms, Pager... pager) Searches for objects having a property value that is in list of possible values.<P extends ParaObject>
List<P> Searches for objects that have properties matching some given values.<P extends ParaObject>
List<P> Searches for objects that have properties matching some given values.<P extends ParaObject>
List<P> findWildcard
(String type, String field, String wildcard, Pager... pager) Searches for objects that have a property with a value matching a wildcard query.<P extends ParaObject>
List<P> Searches for objects that have a property with a value matching a wildcard query.Counts indexed objects.Counts indexed objects.Counts indexed objects matching a set of terms/values.Counts indexed objects matching a set of terms/values.void
index
(ParaObject po) Indexes an object.void
index
(String appid, ParaObject po) Indexes an object.<P extends ParaObject>
voidIndexes multiple objects in a batch operation.<P extends ParaObject>
voidIndexes multiple objects in a batch operation.boolean
isValidQueryString
(String queryString) Validates a query string.boolean
rebuildIndex
(DAO dao, App app, Pager... pager) Reads all objects from the database and indexes them into a new index.boolean
rebuildIndex
(DAO dao, App app, String destinationIndex, Pager... pager) Reads all objects from the database and indexes them into a new index.void
unindex
(ParaObject po) Removes an object from the index.void
unindex
(String appid, ParaObject po) Removes an object from the index.<P extends ParaObject>
voidunindexAll
(String appid, List<P> objects) Removes multiple objects from the index in a batch operation.void
unindexAll
(String appid, Map<String, ?> terms, boolean matchAll) Removes multiple objects from the index matching a set of terms.<P extends ParaObject>
voidunindexAll
(List<P> objects) Removes multiple objects from the index in a batch operation.void
unindexAll
(Map<String, ?> terms, boolean matchAll) Removes multiple objects from the index matching a set of terms.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.erudika.para.core.search.Search
createIndex, deleteIndex
-
Constructor Details
-
MockSearch
public MockSearch()
-
-
Method Details
-
index
-
index
-
unindex
Description copied from interface:Search
Removes an object from the index. -
unindex
-
indexAll
Description copied from interface:Search
Indexes multiple objects in a batch operation. -
indexAll
Description copied from interface:Search
Indexes multiple objects in a batch operation. -
unindexAll
Description copied from interface:Search
Removes multiple objects from the index in a batch operation.- Specified by:
unindexAll
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
objects
- a list of objects
-
unindexAll
Description copied from interface:Search
Removes multiple objects from the index in a batch operation.- Specified by:
unindexAll
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
objects
- a list of objects
-
unindexAll
Description copied from interface:Search
Removes multiple objects from the index matching a set of terms.- Specified by:
unindexAll
in interfaceSearch
- Parameters:
terms
- a list of termsmatchAll
- if true all terms must match ('AND' operation)
-
unindexAll
Description copied from interface:Search
Removes multiple objects from the index matching a set of terms. If the terms parameter is empty or null, all objects should be removed from index.- Specified by:
unindexAll
in interfaceSearch
- Parameters:
appid
- name of theApp
terms
- a list of termsmatchAll
- if true all terms must match ('AND' operation)
-
findById
Description copied from interface:Search
Simple id search. -
findById
-
findByIds
-
findByIds
Description copied from interface:Search
Simple multi id search. -
findNearby
public <P extends ParaObject> List<P> findNearby(String type, String query, int radius, double lat, double lng, Pager... pager) Description copied from interface:Search
Search forAddress
objects in a radius of X km from a given point.- Specified by:
findNearby
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
query
- the query stringradius
- the radius of the search circlelat
- latitudelng
- longitudepager
- aPager
- Returns:
- a list of objects found
-
findNearby
public <P extends ParaObject> List<P> findNearby(String appid, String type, String query, int radius, double lat, double lng, Pager... pager) Description copied from interface:Search
Search forAddress
objects in a radius of X km from a given point.- Specified by:
findNearby
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
query
- the query stringradius
- the radius of the search circlelat
- latitudelng
- longitudepager
- aPager
- Returns:
- a list of objects found
-
findPrefix
public <P extends ParaObject> List<P> findPrefix(String type, String field, String prefix, Pager... pager) Description copied from interface:Search
Searches for objects that have a property which value starts with a given prefix.- Specified by:
findPrefix
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
field
- the property name of an objectprefix
- the prefixpager
- aPager
- Returns:
- a list of objects found
-
findPrefix
public <P extends ParaObject> List<P> findPrefix(String appid, String type, String field, String prefix, Pager... pager) Description copied from interface:Search
Searches for objects that have a property which value starts with a given prefix.- Specified by:
findPrefix
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
field
- the property name of an objectprefix
- the prefixpager
- aPager
- Returns:
- a list of objects found
-
findQuery
Description copied from interface:Search
Query string search. This is the basic search method. Refer to the Lucene query string syntax.- Specified by:
findQuery
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
query
- the query stringpager
- aPager
- Returns:
- a list of objects found
-
findQuery
public <P extends ParaObject> List<P> findQuery(String appid, String type, String query, Pager... pager) Description copied from interface:Search
Query string search. This is the basic search method. Refer to the Lucene query string syntax.- Specified by:
findQuery
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
query
- the query stringpager
- aPager
- Returns:
- a list of objects found
-
findNestedQuery
public <P extends ParaObject> List<P> findNestedQuery(String type, String field, String query, Pager... pager) Description copied from interface:Search
Searches within a nested field. The objects of the given type must contain a nested field "nstd".- Specified by:
findNestedQuery
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
field
- the name of the field to target (within a nested field "nstd")query
- query stringpager
- aPager
- Returns:
- list of objects found
-
findNestedQuery
public <P extends ParaObject> List<P> findNestedQuery(String appid, String type, String field, String query, Pager... pager) Description copied from interface:Search
Searches within a nested field. The objects of the given type must contain a nested field "nstd".- Specified by:
findNestedQuery
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
field
- the name of the field to target (within a nested field "nstd")query
- query stringpager
- aPager
- Returns:
- list of objects found
-
findSimilar
public <P extends ParaObject> List<P> findSimilar(String type, String filterKey, String[] fields, String liketext, Pager... pager) Description copied from interface:Search
Searches for objects that have similar property values to a given text. A "find like this" query.- Specified by:
findSimilar
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
filterKey
- exclude an object with this key from the results (optional)fields
- a list of property namesliketext
- text to compare topager
- aPager
- Returns:
- a list of objects found
-
findSimilar
public <P extends ParaObject> List<P> findSimilar(String appid, String type, String filterKey, String[] fields, String liketext, Pager... pager) Description copied from interface:Search
Searches for objects that have similar property values to a given text. A "find like this" query.- Specified by:
findSimilar
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
filterKey
- exclude an object with this key from the results (optional)fields
- a list of property namesliketext
- text to compare topager
- aPager
- Returns:
- a list of objects found
-
findTagged
Description copied from interface:Search
Searches for objects tagged with one or more tags.- Specified by:
findTagged
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
tags
- the list of tagspager
- aPager
- Returns:
- a list of objects found
-
findTagged
public <P extends ParaObject> List<P> findTagged(String appid, String type, String[] tags, Pager... pager) Description copied from interface:Search
Searches for objects tagged with one or more tags.- Specified by:
findTagged
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
tags
- the list of tagspager
- aPager
- Returns:
- a list of objects found
-
findTags
-
findTags
-
findTermInList
public <P extends ParaObject> List<P> findTermInList(String type, String field, List<?> terms, Pager... pager) Description copied from interface:Search
Searches for objects having a property value that is in list of possible values.- Specified by:
findTermInList
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
field
- the property name of an objectterms
- a list of terms (property values)pager
- aPager
- Returns:
- a list of objects found
-
findTermInList
public <P extends ParaObject> List<P> findTermInList(String appid, String type, String field, List<?> terms, Pager... pager) Description copied from interface:Search
Searches for objects having a property value that is in list of possible values.- Specified by:
findTermInList
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
field
- the property name of an objectterms
- a list of terms (property values)pager
- aPager
- Returns:
- a list of objects found
-
findTerms
public <P extends ParaObject> List<P> findTerms(String type, Map<String, ?> terms, boolean matchAll, Pager... pager) Description copied from interface:Search
Searches for objects that have properties matching some given values. A terms query.- Specified by:
findTerms
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
terms
- a map of fields (property names) to terms (property values)matchAll
- match all terms. If true - AND search, if false - OR searchpager
- aPager
- Returns:
- a list of objects found
-
findTerms
public <P extends ParaObject> List<P> findTerms(String appid, String type, Map<String, ?> terms, boolean matchAll, Pager... pager) Description copied from interface:Search
Searches for objects that have properties matching some given values. A terms query.- Specified by:
findTerms
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
terms
- a map of fields (property names) to terms (property values)matchAll
- match all terms. If true - AND search, if false - OR searchpager
- aPager
- Returns:
- a list of objects found
-
findWildcard
public <P extends ParaObject> List<P> findWildcard(String type, String field, String wildcard, Pager... pager) Description copied from interface:Search
Searches for objects that have a property with a value matching a wildcard query.- Specified by:
findWildcard
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
field
- the property name of an objectwildcard
- wildcard query string. For example "cat*".pager
- aPager
- Returns:
- a list of objects found
-
findWildcard
public <P extends ParaObject> List<P> findWildcard(String appid, String type, String field, String wildcard, Pager... pager) Description copied from interface:Search
Searches for objects that have a property with a value matching a wildcard query.- Specified by:
findWildcard
in interfaceSearch
- Type Parameters:
P
- type of the object- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
field
- the property name of an objectwildcard
- wildcard query string. For example "cat*".pager
- aPager
- Returns:
- a list of objects found
-
getCount
-
getCount
-
getCount
Description copied from interface:Search
Counts indexed objects matching a set of terms/values.- Specified by:
getCount
in interfaceSearch
- Parameters:
type
- the type of object to search for. SeeParaObject.getType()
terms
- a list of terms (property values)- Returns:
- the number of results found
-
getCount
Description copied from interface:Search
Counts indexed objects matching a set of terms/values.- Specified by:
getCount
in interfaceSearch
- Parameters:
appid
- name of theApp
type
- the type of object to search for. SeeParaObject.getType()
terms
- a map of fields (property names) to terms (property values)- Returns:
- the number of results found
-
rebuildIndex
Description copied from interface:Search
Reads all objects from the database and indexes them into a new index. Old index is usually deleted.- Specified by:
rebuildIndex
in interfaceSearch
- Parameters:
dao
- aDAO
implementationapp
- anApp
objectpager
- aPager
object- Returns:
- true if operation was successful
-
rebuildIndex
Description copied from interface:Search
Reads all objects from the database and indexes them into a new index. Old index is usually deleted.- Specified by:
rebuildIndex
in interfaceSearch
- Parameters:
dao
- aDAO
implementationapp
- anApp
objectdestinationIndex
- the name of an existing index where data will be reindexed topager
- aPager
object- Returns:
- true if operation was successful
-
isValidQueryString
Description copied from interface:Search
Validates a query string.- Specified by:
isValidQueryString
in interfaceSearch
- Parameters:
queryString
- a query string- Returns:
- true if query is valid
-