6

ラップのウェブサイトに全文検索機能を実装していますが、ラッパーと曲の名前でいくつかの問題が発生しています。

たとえば、「camron」というクエリを使用してラッパー「 Cam'ron 」を検索したい場合があります(単語の途中のアポストロフィは省略します)。同様に、誰かがクエリ「3peat」を使用して曲「 3Peat 」を検索する場合があります。

ノトーリアスBIG」は少し奇妙なケースです。「ノトーリアスBIG」と「ノトーリアスBIG」はどちらも機能しますが(solr.StandardFilterFactoryが頭字語からドットを削除するためだと思いますか?)、「ノトーリアスBIG」(つまり、末尾のドットを引いたもの)はありません。

理想的には、これらの名前のすべての合理的なバリエーションが機能するはずです。答えはsolr.WordDelimiterFilterFactoryと関係があると思いますが、よくわかりません。

また、関連する場合は、SunspotwithRailsを使用しています。

4

1 に答える 1

10

はい、その通りです。WordDelimiterFilterFactoryを適切に構成する必要があります。すべてのプロパティを有効にしてみてください。また、preserveOriginalプロパティを有効にすることを忘れないでください。これにより、元の用語も保存されます。

generateWordparts - BIG用語から作成します-BIG

generateNumberParts - 3Peat用語から作成します-3Peat

catenateWords - BIG用語から作成します-BIG

catenateNumbers - Rapper802.11用語から作成されます-Rapper80211

catenateAll -Rapperから作成-802.11用語-Rapper80211

splitOnCaseChange - GanGsTa用語から作成します-GanGsTa

preserveOriginal-元の用語も保存します。Rapper-802.11RuuLlZから-Rapper -802.11RuuLlZになります。

于 2010-05-24T08:49:36.717 に答える