在Lucene中,我需要添加一些有关搜索帖子的信息。为了更好地搜索,我需要添加标签名称或其他信息以进行更好的搜索。每当我有两个可能的选项来解决这个问题时,我会选择什么选项。
将标签附加到我所拥有的帖子的内容或摘录中。
或者制作一个新的索引来解决同样的难题。
如果我将它们附加到现有索引中或者在lucene中创建一个新索引来存储另一种信息,我需要知道有什么不同。
答案 0 :(得分:0)
您应该将标记添加到单独的标记化tag
字段。
典型的查询看起来像这样:
content:(+honda +civic) +tag:red +tag:hatchback
前两个字词(honda
和civic
)由用户输入,而后两个字词(red
和hatchback
)将从列表中选择标签。
如果您想支持包含空格的标记,则必须通过继承CharTokenizer
来推广自己的标记:Lucene.Net support phrases?: What is best approach to tokenize comma-delimited data (atomically) in fields during indexing?
+tag:"5 door"
您可以为tag
字段创建单独的索引,但是您必须使用MultiSearcher
来执行对分隔索引的组合搜索。