0

sphinx で整数値でソートできることは知っていますが、sphinx でテキスト フィールドをアルファベット順にソートする方法はありますか?

名で検索したいのですが、関連性で並べ替えるのではなく、名でアルファベット順に並べ替えたいと思います。mysql でこれを実行できることはわかっていますが、mysql にはステミングなどの機能がありません (私の知る限り)。

みんな、ありがとう!

4

3 に答える 3

2

序数属性は、モノリティック インデックスを使用する場合の最も簡単なソリューションです。分散インデックスを使用する場合、問題があります。しかし、他の解決策があります。

1°文字列を数値に変換します。conv(HEX(textfield),16,10) のようなものでSQLから

hex は文字列と相性が良く、char の hex 値の連結リストを返します)

2° sphinx 2.0-x で sql_string_field を試してください

于 2011-11-05T09:28:54.183 に答える
2

文字列を序数属性として使用できます。Sphinx は、指定された列のすべての値を収集し、アルファベット順に並べ替えてから、最初の値を 1 に、2 番目の値を 2 に、というように指定します。これにより、並べ替えはできますが、フィルタリングはできません。

于 2009-09-21T17:11:33.767 に答える
1

私の知る限り、属性 (および @weight などのいくつかの特別な属性) 以外でソートすることはできません。現在、属性を文字列にすることはできませんが、この機能は 0.9.10 で実装される予定です。

http://www.sphinxsearch.com/docs/current.html#sorting-modes

于 2009-09-21T12:38:40.533 に答える