sphinx で整数値でソートできることは知っていますが、sphinx でテキスト フィールドをアルファベット順にソートする方法はありますか?
名で検索したいのですが、関連性で並べ替えるのではなく、名でアルファベット順に並べ替えたいと思います。mysql でこれを実行できることはわかっていますが、mysql にはステミングなどの機能がありません (私の知る限り)。
みんな、ありがとう!
sphinx で整数値でソートできることは知っていますが、sphinx でテキスト フィールドをアルファベット順にソートする方法はありますか?
名で検索したいのですが、関連性で並べ替えるのではなく、名でアルファベット順に並べ替えたいと思います。mysql でこれを実行できることはわかっていますが、mysql にはステミングなどの機能がありません (私の知る限り)。
みんな、ありがとう!
序数属性は、モノリティック インデックスを使用する場合の最も簡単なソリューションです。分散インデックスを使用する場合、問題があります。しかし、他の解決策があります。
1°文字列を数値に変換します。conv(HEX(textfield),16,10) のようなものでSQLから
hex は文字列と相性が良く、char の hex 値の連結リストを返します)
2° sphinx 2.0-x で sql_string_field を試してください
文字列を序数属性として使用できます。Sphinx は、指定された列のすべての値を収集し、アルファベット順に並べ替えてから、最初の値を 1 に、2 番目の値を 2 に、というように指定します。これにより、並べ替えはできますが、フィルタリングはできません。
私の知る限り、属性 (および @weight などのいくつかの特別な属性) 以外でソートすることはできません。現在、属性を文字列にすることはできませんが、この機能は 0.9.10 で実装される予定です。