集合知の目的で Drupal データベースのコンテンツを分析しようとしています。
これまでのところ、さまざまなコンテンツ (主にフォーラムの投稿) をトークン化し、ストップ ワードを削除した後にトークンをカウントする簡単な例を作成することができました。
Lucene で提供される は、StandardTokenizer
ホスト名と電子メールをトークン化できるはずですが、コンテンツに HTML を埋め込むこともできます。
Pubblichiamo la presentazione di IBM riguardante DB2 per i vari sistemi operativi
Linux, UNIX e Windows.\r\n\r\nQuesto documento sta sulla piattaforma KM e lo potete
scaricare a questo <a href=\'https://sfkm.griffon.local/sites/BSF%20KM/BSF/CC%20T/Specifiche/Eventi2008/IBM%20DB2%20for%20Linux,%20UNIX%20e%20Windows.pdf\' target=blank>link</a>.
これは、次のようにトークン化されます。
pubblichiamo -> 1
presentazione -> 1
ibm -> 1
riguardante -> 1
db2 -> 1
vari -> 1
sistemi -> 1
operativi -> 1
linux -> 1
unix -> 1
windows -> 1
documento -> 1
piattaforma -> 1
km -> 1
potete -> 1
scaricare -> 1
href -> 1
https -> 1
sfkm.griffon.local -> 1
sites -> 1
bsf -> 1
20km/bsf -> 1
cc -> 1
20t/specifiche/eventi2008/ibm -> 1
20db2 -> 1
20for -> 1
20linux -> 1
20unix -> 1
20e -> 1
20windows.pdf -> 1
target -> 1
blank -> 1
link -> 1
私がしたいのは、リンクをまとめて、役に立たないhtml タグ (<pre>
や など) を削除することです。<strong>
Filter または別の Tokenizer を作成する必要がありますか? トークナイザーは標準のものを置き換える必要がありますか、それともそれらを混ぜ合わせることはできますか? 最も難しい方法はStandardTokenizerImpl
、それを新しいファイルにコピーしてからカスタム動作を追加することですが、今のところ Lucene の実装に深く入り込みたくありません (徐々に学習します)。
すでに同様のものが実装されている可能性がありますが、私はそれを見つけることができませんでした。
編集:
見てみるとStandardTokenizerImpl
、実際の実装を変更して拡張する必要がある場合、lexやflexを使用して自分で行うよりも便利ではないと思います..