私はsolr-3.6を使用しています。Solr-Index に次のような検索可能なフィールドのリストがあります。
- 名前
- Eメール
- 街
- 州
- 国
これらのフィールドはすべて同じタイプの「文字列」であり、インデックスが付けられて保存されます。5 つのフィールドすべてが「text」という名前のコピー フィールドにコピーされ、検索されます。 インデックス作成とクエリ中にトークナイザーは使用されません。
以下に示すように、5 つのドキュメントで一致する値 "John" (ワイルドカード検索を取得するために" John* " として検索)のインデックスを検索するとします。
< doc>
< name>Johnson< /name>
< other fields> .... < /other fields>
< /doc>
< doc>
< email>John043@xyz.com< /email>
< other fields> .... < /other fields>
< /doc>
< doc>
< city>Johnyville< /city>
< other fields> .... < /other fields>
< /doc>
< doc>
< state>Johnford< /state>
< other fields> .... < /other fields>
< /doc>
< doc>
< country>Johnland< /country>
< other fields> .... < /other fields>
< /doc>
この結果を、次のように一致する値に基づいて並べ替えます。
ジョンフォード、ジョンランド、ジョンソン、ジョニーヴィル、ジョン043@xyz.com
複数値フィールドであるため、コピーフィールド「テキスト」に基づいてソートできません。
検索クエリに一致する複数のフィールドでこの種の並べ替えを行うことは可能ですか?
これを行うことの実現可能性とそれを行う手段についてコメントしてください。前もって感謝します!