当前位置:  开发笔记 > 编程语言 > 正文

具有多个不同值的字段

如何解决《具有多个不同值的字段》经验,为你挑选了2个好方法。

我正在使用Lucene构建"图书搜索"API.我需要索引Lucene索引中的Book Name,Author和Book category字段.

一本书可以归入多个不同的书籍类别......例如:

BookName1 - 小说,幽默,哲学.BookName1 - 小说,科学.BookName1 - 哼哼,生意.BookName4-幽默等等.....

用户应该能够搜索特定类别下的所有书籍"homour".

鉴于这种情况,我如何索引上面的字段并在lucene中构建查询?



1> Saltire..:

您可以多次出现Lucene文档的字段.创建文档,添加名称和作者的值,然后对每个类别执行相同的操作

创建新的lucene文档

添加名称字段和值

添加作者字段和值

对于每个类别:

添加类别字段和值

将文档添加到索引

当您在索引中搜索某个类别时,它将返回所有具有您所追求的值的类别字段的文档.该类别应为"关键字"字段.

我用英文写的,因为每个lucene版本的具体代码略有不同.


不,你只有一份文件.它不像您管理架构和索引的数据库.你必须放松并让Lucene处理索引,这真的很聪明.
如何测试是否保存了所有类别?当我编写查询时,我只获得为文档返回的第一个类别.

2> zehrer..:

您可以创建一个简单的"类别"字段,在该字段中列出按空格分隔的书籍的所有分类.

然后你可以搜索类似的东西:

stock market AND category:(+"business")

或者,如果您想要搜索多个类别

stock market AND category:(+"business" +"philosophy")

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有