0

4 つの製品があるとします。

「iPhone 3g、iPhone 3gs、iPhone 4、iPhone 4s」

ワードフォームを使用します。

iPhone 3g > ip3
iPhone 3gs > ip3s
iPhone 4 > ip4
iPhone 4s > ip4s

「iPhone 3g」を検索する場合、3gs ではなく、iPhone 3g のみを照合する必要があります。

問題は: ユーザーが「iPhone」を検索すると、4 つのバージョンすべてが見つかるはずです。しかし!ソーステキストの「iPhone」は、wordforms sphinx メカニズムを介して CRC32 に置き換えられます どうすればこの問題を解決し、「iPhone」を検索すると 4 つの製品すべてを見つけることができますか、または彼を検索すると 1 つの製品しか見つかりませんか?

4

1 に答える 1

0

それがwordformsexceptionsそれについても)これに役立つかどうかはわかりません。

しかし、私はあなたが使用できると信じていますregexp_filter

http://sphinxsearch.com/docs/current.html#conf-regexp-filter

何かのようなもの

regexp_filter = iphone\ (\d\w*)\b => iphone ip\1

これは、上記のワードフォームと実質的に同じ変換を行いますが、iphone も 1 つの単語として含むため、それ自体で一致させることができます。

(私が見ることができる唯一のわずかなしわは、正規表現の置換で大文字と小文字を区別しないようにする方法がわからないため、電話の場合は検索文字列に可能なすべてのスペルを含めるか、組み合わせごとに複数のフィルターを使用する必要があります)

于 2013-07-26T12:05:34.550 に答える