Fields and methods of the helma.Search class
To use this optional module, its repository needs to be added to the application, for example by calling app.addRepository('modules/helma/Search.js')
To use this optional module, its repository needs to be added to the application, for example by calling app.addRepository('modules/helma/Search.js')
Constructs a new instance of helma.Search. This merely
checks if the Apache Lucene library is in the application
classpath.
methods
- getDirectory(dir, create)
- getRAMDirectory(dir)
- createIndex(dir, analyzer)
Constructs a new QueryFilter instance. This class
wraps a lucene QueryFilter.
parameters
| helma.Search.Query | q | The query object to use as the basis for the QueryFilter instance. |
methods
Creates a new instance of helma.Search.Index
parameters
| org.apache.lucene.store.Directory | directory | The directory where the Lucene index is located at. |
| org.apache.lucene.analysis.Analyzer | analyzer | The analyzer to use when modifying the index. |
methods
- getWriter(create, autoCommit)
- addIndexes(dir)
- create()
- size()
- count(fieldName, fieldValue)
- optimize()
- isLocked()
- unlock()
- close()
- addDocument(doc)
- addDocuments(docs)
- removeDocument(fieldName, fieldValue)
- removeDocuments(fieldName, values)
- updateDocument(docObj, fieldName)
Creates a new instance of helma.Search.Seacher
parameters
| helma.Search.Index | index | The index to search in. |
methods
- search(query, filter)
- sortBy(fieldName, type)
- close()
properties
- helma.Search.HitCollection hits
- java.util.Vector sortFields
Creates a new instance of helma.Search.HitCollection
parameters
| org.lucene.search.Hits | hits | The hit collection returned by lucene. |
methods
- get(idx)
- size()
- length()
Creates a new instance of helma.Search.TermQuery
parameters
| String | field | The name of the field |
| String | str | The value of the field |
properties
- org.apache.lucene.search.TermQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Creates a new instance of helma.Search.BooleanQuery
parameters
| String | name of the field | |
| String | query string |
methods
- addTerm(field, str, clause, analyzer)
- addQuery(q, clause)
properties
- org.apache.lucene.search.BooleanQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Constructs a new helma.Search.PhraseQuery instance that wraps
a Lucene Phrase Query object.
parameters
| String | field | The name of the field |
| String | str | The phrase query string |
methods
- addTerm(field, str)
properties
- org.apache.lucene.search.PhraseQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Constructs a new helma.Search.RangeQuery instance.
parameters
| String | field | The name of the field |
| String | from | The minimum value to match (can be null) |
| String | to | The maximum value to match (can be null) |
| Boolean | inclusive | If true the given min/max values are included |
properties
- org.apache.lucene.search.RangeQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Constructs a new helma.Search.FuzzyQuery instance.
parameters
| String | field | The name of the field |
| String | str | The query string to match |
properties
- org.apache.lucene.search.FuzzyQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Constructs a new helma.Search.PrefixQuery instance.
parameters
| String | field | The name of the field |
| String | str | The query string to match |
properties
- org.apache.lucene.search.PrefixQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Constructs a new helma.Search.WildcardQuery instance.
parameters
| String | field | The name of the field |
| String | str | The query string to match |
properties
- org.apache.lucene.search.WildcardQuery query
inherits
getQuery() from helma.Search.Query
getBoost() from helma.Search.Query
setBoost(fact) from helma.Search.Query
Creates a new instance of helma.Search.Document.
parameters
| org.apache.lucene.document.Document | document | Optional Lucene Document object that should be wrapped by this Document instance. |
methods
- addField(name, value, options)
- getField(name)
- getFields(name)
- removeField(name)
- getBoost()
- setBoost(boost)
Creates a new Field instance
parameters
| Object | name | The name of the field |
| Object | value | The value of the field |
| Object | options |
Optional object containing the following properties
(each of them is optional too):
|
methods
- getField()
- getBoost()
- setBoost(boost)
- isStored()
properties
- String name
- String value
- String dateValue
The search results.
A vector with SortField instances, if any have been defined.
see
Contains the wrapped TermQuery instance
Contains the wrapped BooleanQuery instance
Contains the wrapped PhraseQuery instance
Contains the wrapped RangeQuery instance
Contains the wrapped FuzzyQuery instance
Contains the wrapped PrefixQuery instance
Contains the wrapped WildcardQuery instance
Contains the name of the field
Contains the string value of the field
Contains the value of the field converted into a date object.
Methods
Returns a new Analyzer instance depending on the key
passed as argument. Currently supported arguments are
"br" (BrazilianAnalyzer), "cn" (ChineseAnalyzer), "cz" (CzechAnalyzer),
"nl" (DutchAnalyzer), "fr" (FrenchAnalyzer), "de" (GermanAnalyzer),
"el" (GreekAnalyzer), "keyword" (KeywordAnalyzer), "ru" (RussianAnalyzer),
"simple" (SimpleAnalyzer), "snowball" (SnowballAnalyzer), "stop" (StopAnalyzer)
"whitespace" (WhitespaceAnalyzer). If no argument is given, a StandardAnalyzer
is returned.
parameters
| String | key | The key identifying the analyzer |
returns
| A newly created Analyzer instance |
Returns the wrapped filter instance
Returns an instance of org.apache.lucene.store.FSDirectory. If
no index is present in the given directory, it is created on the fly.
parameters
| File, helma.File, java.io.File, String | dir | The directory where the index is located or should be created at. |
| Boolean | create | If true the index will be created, removing any existing index in the same directory |
returns
| The index directory. |
Returns a RAM directory object.
parameters
| File, helma.File, java.io.File, String | dir | Optional directory containing a Lucene index from which this RAM directory should be created. |
returns
| A RAM directory instance. |
Creates a new Lucene index in the directory passed as
argument, using an optional analyzer, and returns an instance
of helma.Search.Index. Any already existing index in this
directory will be preserved.
parameters
| org.apache.lucene.store.Directory | dir | The directory where the index should be stored. This can be either a FSDirectory or a RAMDirectory instance. |
| org.apache.lucene.analysis.Analyzer | analyzer | The analyzer to use for the index. If not specified a StandardAnalyzer will be used. |
returns
| The index instance. |
Returns an IndexWriter instance that can be used to add documents to
the underlying index or to perform various other modifying operations.
If the index is currently locked this method will try for the next
two seconds to create the IndexWriter, otherwise it will
throw an error.
parameters
| Boolean | create | True to create the index (overwriting an existing index), false to append to an existing index. Defaults to false |
| Boolean | autoCommit | Enables or disables auto commit (defaults to false) |
returns
| An IndexWriter instance. |
Returns an IndexReader instance. Due to locking issues an
IndexModifier should be used for deleting documents.
returns
| An IndexReader instance |
Returns the directory the underlying Lucene index is located at.
returns
| The directory of this index |
Returns the analyzer used within this index.
returns
| The analyzer used within this index. |
Returns a searcher for querying this index.
returns
| A searcher useable for querying the index. |
Merges the indexes passed as argument into this one.
parameters
| org.apache.lucene.store.Directory | dir | At least one index director to add to this index. |
Creates a new index. This will delete any existing index
files in the directory of this index.
returns
| True if creating the index was successful, false otherwise |
Returns the number of documents in this index.
returns
| The number of documents in this index. |
Returns the number of documents with the given field name and value.
parameters
| String | fieldName | The name of the field |
| String | fieldValue | The value of the field |
returns
| The number of documents |
Optimizes the underlying index.
Returns an array containing all field names in this index.
returns
| An array with the field names in this index. |
Checks if the index is locked.
returns
| True if the underlying index is locked, false otherwise. |
Unlocks the index. Use this with caution, as it removes
any active locks in the Lucene index, which might lead
to index corruption.
Closes the underlying index directory for future operations.
Adds a document to the index.
parameters
| helma.Search.Document | doc | The document to add to the index. |
Adds all documents in the passed collection to this index.
parameters
| java.util.Hashtable, java.util.Vector, Array | docs | The documents to add to the index. |
Remove all documents from the index whose field-value
with the given name matches the passed value argument.
parameters
| String | fieldName | The name of the field |
| String | fieldValue | The value of the field. |
Removes all documents whose field with the given name matches
the values passed as argument.
parameters
| String | fieldName | The name of the field |
| java.util.Hashtable, java.util.Vector, Array | values | The values that define the documents that should be removed from the index. |
Updates the index with the document passed as argument. In contrast
to addDocument() this removes any existing objects whose fieldName
matches the one of the document object. Eg. if the document object
has a field "Id" with the value "123", all document objects whose
fieldName "Id" matches "123" will be removed from the index before.
parameters
| helma.Search.Document | docObj | Document object to add to index. |
| String | fieldName | The name of the identifier field. |
Returns the wrapped IndexSearcher instance.
Searches an index using the query passed as argument.
The resulting collection of hits is stored in the property "hits"
of this Searcher instance. Don't forget to close the searcher
when finished processing its hits.
parameters
| helma.Search.Query | query | The query to use for searching |
| helma.Search.QueryFilter | filter | An optional query filter for filtering the results. |
returns
| The number of hits. |
Sets a field as result sorting field. This method can be called
with a different number of arguments:
sortBy(fieldName)
sortBy(fieldName, type)
sortBy(fieldName, reverse)
sortBy(fieldName, type, reverse)
parameters
| String | fieldName | The name of the field in the index by which the search result should be ordered. |
| String | type | The type of the field defined by argument fieldName. Valid arguments are "string", "float", "int", "score", "doc", "auto", "custom". Default is "auto". See http://lucene.apache.org/java/docs/api/org/apache/lucene/search/SortField.html for an explanation. |
Closes the wrapped IndexSearcher instance.
Silently converts the hit at the given index position into
an instance of helma.Search.Document.
parameters
| Number | idx | The index position of the hit |
returns
| The document object at the given index position |
Returns the number of hits in this collection.
returns
| The number of hits. |
Returns the number of hits in this collection.
This method is deprecated, use {@link #size} instead.
returns
| The number of hits. |
see
Returns the wrapped Lucene Query object.
returns
| The wrapped query object |
Returns the boost factor of this query.
Sets the boost factor of this query clause to
the given number. Documents matching this query
will have their score multiplied with the given
factor
parameters
| Number | fact | The factor to multiply the score of matching documents with. |
Adds a term to the wrapped query object. This method can be called
with two, three or four arguments, eg.:
addTerm("fieldname", "querystring")
addTerm("fieldname", "querystring", "and")
addTerm("fieldname", "querystring", helma.Search.getAnalyzer("de"))
addTerm("fieldname", "querystring", "not", helma.Search.getAnalyzer("simple"))parameters
| String, Array | field | Either a String or an Array containing Strings that determine the index field(s) to match |
| String | str | Query string to match |
| String | clause | Boolean clause ("or", "not" or "and", default is "and") |
| org.apache.lucene.analysis.Analyzer | analyzer | An analyzer to use |
Adds an additional query clause to this query.
parameters
| helma.Search.Query | q | The query to add |
| String | clause | Boolean clause ("or", "not", or "and", default is "and") |
add a term to the end of the phrase query
parameters
| field | ||
| str |
Returns the wrapped Lucene Document object
returns
| The wrapped Document object |
Adds a field to this document.
parameters
| String, helma.Search.Document.Field | name | The name of the field, or an instance of {@link helma.Search.Document.Field}, in which case the other arguments are ignored. |
| String | value | The value of the field |
