Lucene关于TextFragmenter高亮完整性问题


各位,我现在碰到一个这样的问题
下面是建立索引的内容

什么什么公式是这样写的[latxt]$$ \left( {a + b} \right)\left( {{1 \over a} + {1 \over b}} \right) \ge \left( {a \cdot {1 \over a} + b \cdot {1 \over b}} \right)^2  = 4 $$[/latxt],真的是这样写的哦

当我搜索1 \over b的时候,
采用Highlighter的SimpleFragmenter来控制高亮后内容的长度。
这样出现的结果是只拿到了片段代码

{1 \over a} + b \cdot {<em>1 \over b</em>}} \right)^2

而我希望的结果是拿到整个[latxt]标签内的内容,然后将其替换编译成图片。

目前我的思路

  1. 碰到有latxt标签的内容不做高亮处理,直接替换成图片,然后根据term偏移量,取出片段内容,但是这样精确度太低。
  2. 自己实现Fragmenter,对有latxt标签的内容做完整性处理。学艺不精,对Fragmenter还未理解透彻,可行性也不能确定

希望大家提出更多更方便快捷的思路,或者例子。

lucene 全文检索

天体战士桑雷德 10 years, 7 months ago

Your Answer