我正在使用一个索引,其中混合了文档,有些可能包含自定义标签,例如:
<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(<[^>]*>?
”
将返回第二个文档。
这是我可以用Lucene 3.x实现的吗?我什至考虑迁移到Lucene 4.8 Beta,如果它是合理的。
有人处理过类似的事情吗?我应该考虑哪些陷阱?
我想最简单的方法是存储相同的文本,但从第二个字段上的标签中剥离出来,然后在那个字段上执行搜索。我很感激任何意见或建议。