浏览 4133 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-14
就像在word中进行搜索时,会在目录中高亮显示在那些节有检索词,并返回共有多少个匹配项。 就是需要先定位到文档,然后还要定位到文档中的位置信息。 用lucene的话怎么实现这种功能? 举个例子: 我想索引一本书的全文,有一个field为书名,另外一个field content对应的值应该是一个页码和当前页码中的内容的一个数组。 但是lucene好像没有办法存储数组类型的field。这个该怎么解决?有什么好的替代方法吗? 另外,在上面的那个例子中,需要实现的效果是:当检索某个关键词时,需要将整本书中带该关键字的所有页码均需要返回,用于导航。 如果针对每页均作为一个field去存储的话,不能实现上面的需求,因为在搜索时没有办法指定查询的field。 现在将content作为全文field的name,但这个field的值需要有页码和内容2个内容,而且在检索时除了能返回那些文档中有这个检索词,还需要能返回检索词出现在那些页码中。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-04-24
你做索引时候 建立索引结构不就可以解决了么 id=页码 content=书内容 book_name=书名 field你就看着数据库的column
|
|
返回顶楼 | |
发表时间:2012-04-24
qyhdt 写道 你做索引时候 建立索引结构不就可以解决了么 id=页码 content=书内容 book_name=书名 field你就看着数据库的column
你指的索引结构是指什么?是lucene的field么? lucene的field就一个name一个value,还都是string类型的。 |
|
返回顶楼 | |
发表时间:2012-05-15
"
另外,在上面的那个例子中,需要实现的效果是:当检索某个关键词时,需要将整本书中带该关键字的所有页码均需要返回,用于导航。 " 按照这个说法,不是很适合把整本书做为一个document来存,应该是一个页面作为一个document,这样每个document应该想这样: title:书名1 content:第一页的内容 page:1 title:书名1 content:第二页的内容 page:2 然后在搜索结果基础上做聚合,使同一本书的内容排列在一起。做法类似google/baidu搜索结果里出现同一个网站的多个页面的情况。 这个方案在Nutch中有实现的代码,楼主可以去参考一下。 |
|
返回顶楼 | |
发表时间:2012-05-16
bluesky4485 写道 qyhdt 写道 你做索引时候 建立索引结构不就可以解决了么 id=页码 content=书内容 book_name=书名 field你就看着数据库的column
你指的索引结构是指什么?是lucene的field么? lucene的field就一个name一个value,还都是string类型的。 你数据库字段什么意思 它就是什么意思 field 你当做column 那么 name 就是字段名 value 就是字段 当然都是string类型 你可以看Field的构造函数 看图中很显然 要构造什么样的field 自己看吧 |
|
返回顶楼 | |