我正在使用Lucene构建"图书搜索"API.我需要索引Lucene索引中的Book Name,Author和Book category字段.
一本书可以归入多个不同的书籍类别......例如:
BookName1 - 小说,幽默,哲学.BookName1 - 小说,科学.BookName1 - 哼哼,生意.BookName4-幽默等等.....
用户应该能够搜索特定类别下的所有书籍"homour".
鉴于这种情况,我如何索引上面的字段并在lucene中构建查询?
您可以多次出现Lucene文档的字段.创建文档,添加名称和作者的值,然后对每个类别执行相同的操作
创建新的lucene文档
添加名称字段和值
添加作者字段和值
对于每个类别:
添加类别字段和值
将文档添加到索引
当您在索引中搜索某个类别时,它将返回所有具有您所追求的值的类别字段的文档.该类别应为"关键字"字段.
我用英文写的,因为每个lucene版本的具体代码略有不同.
您可以创建一个简单的"类别"字段,在该字段中列出按空格分隔的书籍的所有分类.
然后你可以搜索类似的东西:
stock market AND category:(+"business")
或者,如果您想要搜索多个类别
stock market AND category:(+"business" +"philosophy")