私は2つの主要な文字列AとBを検索する必要がある検索バーを実装しています次のように結果を優先します(最も重要なものから順に)
- AとBを組み合わせた結果
- Bのみの結果
- Aのみの結果
たとえば、「エジプト」+「ピラミッド」を検索すると、最初の結果は「エジプトのピラミッド」のようなものになり、次に「ピラミッド」全般または幾何学的形状などに関する結果が続きます..、最後に「エジプト」の検索結果
Google や Bing などのいくつかの検索 API を試しています。現在行っていることは、最初に両方を検索して結果セット X を取得し、次に B のみを検索してポジティブ リストと呼ばれるものを取得し、次に A のみを検索して a を取得することです。ネガティブリスト..結果をXにスコア付けし、ネガティブリストに存在する場合はペナルティを課し、ポジティブリストに存在する場合はボーナスを与え、最後にポジティブリストに残っているものをXに追加します..
それはうまく機能しますが、それでも十分ではありません。誰かがこの単純なアルゴリズムに追加するか、まったく異なるアイデアを手伝ってくれるかどうか疑問に思っていました