Google App Engine-Such-API

Bei der Abfrage eines Suchindex in der Python-Version derGAE Search API, Was ist die beste Methode für die Suche nach Elementen, bei denen Dokumente mit Wörtern, die dem Titel entsprechen, zuerst zurückgegeben werden und Dokumente, bei denen Wörter dem Text entsprechen?

Zum Beispiel gegeben:

body = """This is the body of the document, 
with a set of words"""

my_document = search.Document(
  fields=[
    search.TextField(name='title', value='A Set Of Words'),
    search.TextField(name='body', value=body),
   ])

Wenn es möglich ist, wie könnte man eine Suche in einem Index von durchführen?Documents der obigen Form mit Ergebnissen, die in dieser Priorität zurückgegeben werden, wobei sich die gesuchte Phrase in der Variablen befindetqs:

Dokumente, derentitle passt zumqs; dannDokumente, deren Körper mit dem übereinstimmtqs Wörter.

Es scheint, als ob die richtige Lösung darin besteht, a zu verwendenMatchScorer, aber ich bin möglicherweise daneben, da ich diese Suchfunktion noch nicht verwendet habe. Aus der Dokumentation geht nicht hervor, wie dieMatchScorer, aber ich nehme an, dass eine Unterklasse es überlastet und einige Funktionen - aber da dies nicht dokumentiert ist und ich mich nicht mit dem Code befasst habe, kann ich nicht sicher sagen.

Fehlt hier etwas, oder ist das die richtige Strategie? Habe ich verpasst, wo so etwas dokumentiert ist?

Aus Gründen der Klarheit ist hier ein ausführlicheres Beispiel für das gewünschte Ergebnis:

documents = [
  dict(title="Alpha", body="A"),          # "Alpha"
  dict(title="Beta", body="B Two"),       # "Beta"
  dict(title="Alpha Two", body="A"),      # "Alpha2"
]

for doc in documents: 
  search.Document(
    fields=[
       search.TextField(name="title", value=doc.title),
       search.TextField(name="body", value=doc.body),
    ]
  )
  index.put(doc)  # for some search.Index

# Then when we search, we search the Title and Body.
index.search("Alpha")
# returns [Alpha, Alpha2]

# Results where the search is found in the Title are given higher weight.
index.search("Two")
# returns [Alpha2, Beta]  -- note Alpha2 has 'Two' in the title.