lunr.FieldRef = function (docRef, fieldName) {
  this.docRef = docRef
  this.fieldName = fieldName
  this._stringValue = fieldName + lunr.FieldRef.joiner + docRef
}

lunr.FieldRef.joiner = "/"

lunr.FieldRef.fromString = function (s) {
  var n = s.indexOf(lunr.FieldRef.joiner)

  if (n === -1) {
    throw "malformed field ref string"
  }

  var fieldRef = s.slice(0, n),
      docRef = s.slice(n + 1)

  return new lunr.FieldRef (docRef, fieldRef)
}

lunr.FieldRef.prototype.toString = function () {
  return this._stringValue
}

@@ -36,16 +36,29 @@
 ieldName
+, stringValue
 ) %7B%0A  th
@@ -131,49 +131,19 @@
 e = 
-fieldName + lunr.FieldRef.joiner + docRef
+stringValue
 %0A%7D%0A%0A
@@ -424,16 +424,19 @@
 fieldRef
+, s
 )%0A%7D%0A%0Alun
@@ -481,16 +481,137 @@
 on () %7B%0A
+  if (this._stringValue == undefined) %7B%0A    this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef%0A  %7D%0A%0A
   return

Stop needlessly recreating field ref string