5

私のアプリケーションでは、検索 API がnameフィールドの一致を他のフィールドの一致よりも高く評価するようにしたいと考えています。

ユーザーは、より多くのテキストを含む「about」メッセージを入力することもできるため、そこで一致が発生する可能性が高くなります。これを行う方法はありますか?

4

2 に答える 2

3

SortExpression ( https://developers.google.com/appengine/docs/python/search/sortexpressionclass ) は、特定の式に基づいて並べ替えを設定する方法を提供しますが、ドキュメント単位のスコアのみを提供します (つまり、フィールドごとではありません)。 .

もう 1 つの (おそらく悪い考え) は、"name: my_search_term_here" のようなクエリ文字列を使用して、名前フィールドのみで検索することです。

したがって、私の知る限り、Google App Engine の Search API は、検索中に 1 つのフィールドにバイアスをかける方法を提供していません (つまり、ApacheSolr Lucene の ^ 演算子に似ています)。

于 2013-11-23T21:47:39.503 に答える
0

Google AppEngine のこの機能については知りません。そうは言っても、この問題は 2 つのステップに分けることができます。最初に名前フィールドで用語を検索します。これにより、ドキュメントのリストが得られます。list1 と呼びます。次に、重要度の低いフィールドで同じ用語を検索します。これにより、list2 という名前の別のリストが得られます。次に、これら 2 つのリストを任意の方法で組み合わせることができます。つまり、list1 と list2 を連結した新しい list3 を作成し、list1 のすべての項目が list2 の項目の前にあります。お役に立てれば。

于 2013-11-24T03:44:18.440 に答える