2013-04-01 8 views
5

私のアプリケーションでは、検索APIがnameフィールド内の一致を評価するようにしたい、他のフィールドの一致よりも高い。ユーザーは「about」メッセージを記入することもできます。これは、より多くのテキストを持っています。そのため、そこでマッチが起こる可能性が高くなります。これを行う方法はありますか?アプリエンジンのフルテキスト検索で特定のドキュメントフィールドに重みを付ける方法はありますか?

+0

問題を解決してください。私は実際にはこれが役に立つと思うシナリオでは明確ではない。 – markovuksanovic

+0

電子商取引のウェブサイトがあり、商品検索を提供しているとします。各製品には、タイトル、説明、および「ボックスの内容」フィールドがあります。私は人々が "電源アダプタ"のデータをseacrhできるようにしたいので、電源アダプタは箱に電源アダプタがあると書かれている製品よりも高いランクになります。 – bigblind

答えて

3

SortExpression(https://developers.google.com/appengine/docs/python/search/sortexpressionclass)は、特定の式に基づいてソートを設定する方法を提供しますが、文書単位のスコア(フィールド単位ではない)のみを提供します。

別の(おそらく悪いアイデア)のようなクエリ文字列を使用して、名前だけのフィールドで検索することです「名前:my_search_term_here」Google App Engineのは、中にバイアスつのフィールドに何の方法を提供していないの私の知識検索APIからそう

を検索(つまりApacheSolr Luceneの^演算子に似ています)。

0

私はこの機能をGoogle App Engineで認識していません。あなたはこの問題を2つのステップで分けることができます。最初に名前フィールドで用語を検索します。これは、ドキュメントのリストを表示します。リスト1と呼んでください。次に、重要性の低い分野で同じ用語を検索します。これはあなたに別のリストを与え、それをlist2と呼ぶでしょう。リスト1とリスト2の連結である新しいリスト3を作成し、リスト1のすべてのアイテムはリスト2のアイテムの前にあります。お役に立てれば。

関連する問題