* changed signature of addDocuments() - it's now possible to specify an optional mergeFactor
* bugfix in getField(): don't try to convert the string value into a date, since this possibly does the conversion even if it's not intended (it can happen that an id is converted into a date). therefor re-introduced the method getDateField()
This commit is contained in:
parent
78eabaa7cb
commit
fe74d6e0ad
1 changed files with 32 additions and 10 deletions
|
@ -17,9 +17,9 @@
|
||||||
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// $Revision: 1.4 $
|
// $Revision: 1.5 $
|
||||||
// $Author: robert $
|
// $Author: robert $
|
||||||
// $Date: 2006/09/29 13:49:40 $
|
// $Date: 2006/10/23 18:56:36 $
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
@ -487,9 +487,12 @@ helma.Search.Index.prototype.addDocument = function(doc) {
|
||||||
* @param {java.util.Hashtable | java.util.Vector | Array} docs
|
* @param {java.util.Hashtable | java.util.Vector | Array} docs
|
||||||
* The documents to add to the index.
|
* The documents to add to the index.
|
||||||
*/
|
*/
|
||||||
helma.Search.Index.prototype.addDocuments = function(docs) {
|
helma.Search.Index.prototype.addDocuments = function(docs, mergeFactor) {
|
||||||
try {
|
try {
|
||||||
var modifier = this.getModifier();
|
var modifier = this.getModifier();
|
||||||
|
if (mergeFactor) {
|
||||||
|
modifier.setMergeFactor(mergeFactor);
|
||||||
|
}
|
||||||
if (docs instanceof java.util.Hashtable || docs instanceof java.util.Vector) {
|
if (docs instanceof java.util.Hashtable || docs instanceof java.util.Vector) {
|
||||||
var e = docs.elements();
|
var e = docs.elements();
|
||||||
while (e.hasMoreElements()) {
|
while (e.hasMoreElements()) {
|
||||||
|
@ -1083,18 +1086,37 @@ helma.Search.Document.prototype.getField = function(name) {
|
||||||
indexed: f.isIndexed(),
|
indexed: f.isIndexed(),
|
||||||
stored: f.isStored(),
|
stored: f.isStored(),
|
||||||
tokenized: f.isTokenized(),
|
tokenized: f.isTokenized(),
|
||||||
value: null};
|
value: f.stringValue()};
|
||||||
try {
|
|
||||||
var pkg = Packages.org.apache.lucene.document.DateTools;
|
|
||||||
result.value = pkg.stringToDate(f.stringValue());
|
|
||||||
} catch (e) {
|
|
||||||
result.value = f.stringValue();
|
|
||||||
}
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the value of a single document and converts the value to
|
||||||
|
* a Date object.
|
||||||
|
* @param {String} name The name of the field in this document object.
|
||||||
|
* @return An object containing the following properties:
|
||||||
|
* <ul>
|
||||||
|
* <li>.name (String) The name of the field</li>
|
||||||
|
* <li>.boost (Int) The boost factor</li>
|
||||||
|
* <li>.indexed (Boolean) True if the field is indexed, false otherwise</li>
|
||||||
|
* <li>.stored (Boolean) True if the field is stored, false otherwise</li>
|
||||||
|
* <li>.tokenized (Boolean) True if the field is tokenized, false otherwise</li>
|
||||||
|
* <li>.value (String) The value of the field as Date</li>
|
||||||
|
* </ul>
|
||||||
|
* @type Object
|
||||||
|
* @see #getField
|
||||||
|
*/
|
||||||
|
helma.Search.Document.prototype.getDateField = function(name) {
|
||||||
|
var result = this.getField(name);
|
||||||
|
if (result != null) {
|
||||||
|
// convert value to Date object
|
||||||
|
result.value = Packages.org.apache.lucene.document.DateTools.stringToDate(result.value);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the fields of a document object.
|
* Returns the fields of a document object.
|
||||||
* @return An array containing all fields in this document object.
|
* @return An array containing all fields in this document object.
|
||||||
|
|
Loading…
Add table
Reference in a new issue