ドキュメントが混在しており、一部に次のようなカスタムタグが含まれている可能性のあるインデックスを使用しています。
<custom-tag attr="value" />
「ここで終わる長文」「ここ
<custom-tag attr="value" />
で終わる長文」<custom-tag-2 attr="value2" />
- 「ここ
<another-custom-tag attr="value" />
で終わるもう一つの長文」<another-custom-tag attr=value />
タグの名前と属性に完全に依存しない完全一致を見つけることになっています。このような架空のクエリを作成すると、最初に頭に浮かぶのは正規表現です。たとえば、次のようになります。
regex(<[^>]*>?
「ここで終わる長文」
最初のドキュメントを返し、
- 「ここ
regex(<[^>]*>?
で終わる長文」regex(<[^>]*>?
2 番目のドキュメントを返します。
これはLucene 3.xで達成できるものですか? 正当な理由がある場合は、 Lucene 4.8 Betaへの移行も検討しています。
誰かが似たようなことを扱ったように?考慮すべき落とし穴はありますか?
同じテキストを保存するのが最も簡単な方法だと思いますが、2 番目のフィールドのタグを取り除き、代わりにそのフィールドで検索を実行します。ご意見やご提案をいただければ幸いです。