検索クエリがディスプレイ ビジネスに関するものかどうかを確認する必要があるビジネス ケースがあります。
eg: q="night clubs new york"
300 万件以上のデータベースに国、州、地域のリストがあり、ビジネス カテゴリのリストもあります。
私がしたいのは、クエリにビジネス カテゴリ (ナイト クラブ) が含まれているかどうか、および市、州、または国の名前 (ニューヨーク) が含まれているかどうかを確認することだけです。そのため、以下のクエリで返される結果の数を確認しています。2 つの numResults を取得した場合、これはビジネス クエリであり、Solr インデックスにクエリを実行してビジネスを検索します。
query: places_ss:(night clubs new york) OR categories_ss:(night clubs new york)
速度に関する質問:検索速度を最大にするには、都市、州、および国のリストを SOLR に保存するにはどうすればよいですか?
- 1 つのドキュメント id:places を持ち、異なる都市、州、国を配列 places_ss に追加します
- 配列内の各ドキュメントに100,000の場所名を持つ異なるIDを持つ複数のドキュメントがあります。?
place_s 文字列 (配列ではない) を持つ 1 つまたは複数のドキュメントがあり、各場所はスペースで区切られ、各スペースはアンダースコアで区切られています。例: new york は new_york になります。そして、クエリ時間中に、ニューヨークのナイトクラブの複数の組み合わせを取得します
例: night night_clubs night_clubs_new night_clubs_new_york clubs_new clubs_new_york new_york york と場所のクエリ。
速度を上げるために、上記のドキュメント用に別のコアを用意することをお勧めしますか?
これは良い解決策ですか?