各ドキュメントに複数のタグと複数の緯度/経度のペアが含まれる Solr インデックスを設計する最善の方法について、アドバイスを得たいと思っています。
サンプル ドキュメントの JSON 表現:
Document {
id: 123,
name: "Sample Doc",
tags: [
{tag:"example1", weight:0.5},
{tag:"example2", weight:1.0},
{tag:"example3", weight:1.5}
],
locations: [
{lat:1.234, lng:5.678},
{lat:9.876, lng:5.432}
]
}
タグには、インデックス作成時にさまざまな重みを割り当てる必要があります (重みはクエリ間で変わりません)。インデックスに対する検索は、緯度/経度のペアから特定の距離内にあるすべてのドキュメントの名前とタグに対するテキスト検索で構成されます。たとえば、9.876/5.432 の 5000 メートル以内で「Sample example3」を検索します。
このような検索では、タグの一致が多く、タイトルとの一致が多いドキュメントは上位にランク付けされるはずですが (Solr がデフォルトでそうするかどうかは不明です)、タグの重みを考慮します (これにより、特定のタグがドキュメントのランクを非常に高くする可能性があります)。その重みのために検索で)。
過去に Solr を使用して全文検索を実行したり、その地理空間機能をいじったりしました。私は Sphinx のバックグラウンドを持っていますが、Solr は私のニーズのほとんどに対してより堅牢な製品だと思います。フルテキスト + 加重 + 地理空間を効率的に実行できるインデックスを設計するための助けが必要です。どんなアドバイスでも大歓迎です!