![]() |
1
1
取决于你在寻找什么样的搜索功能。例如,如果您希望用户能够搜索在某个特定日期出现在线程中的关键字,那么您必须将所有条目作为带有日期(例如 NumericField 可使用 NumericRangeFilter ). 将每个条目作为一个单独的文档进行索引还将使您能够使用Lucene scorers对每个条目进行评分,这将有助于检索最相关的条目(而不是线程)作为对查询的响应。此外,还可以将线程主题作为单独的字段添加到每个条目文档中(代价是占用更多的空间)。 如果您想将用户指向感兴趣的确切条目,那么连接所有条目不是一个好主意。 至于您对从同一个线程返回多个条目的担忧(对Ryan的回答的评论),您可以在索引时为每个条目添加一个线程id。然后在显示结果时,只能显示每个线程id的条目(得分最高的条目可以与线程主题一起显示) |
![]() |
2
0
如果将讨论中的所有条目串联在一起,则会出现错误,无法精确指出要检索的条目。 Lucene应该能够快速索引和搜索每个条目(post/thread/whatever)。把它们混在一起似乎太过分了。 |
![]() |
4
0
我更愿意为每个条目分别编制索引。它将使设计更加灵活,因为您的系统应该有某种主题实体来对同一线程中的条目进行分组。使用串联索引的另一个问题是,一旦发布了新条目,就需要重新索引,这会影响性能。 |
![]() |
Singaravelu · Lucene。带“#”的网络搜索不起作用 7 年前 |
![]() |
jan · Lucene中空值的自定义排序。Net 3.0.3 8 年前 |
![]() |
KMX · 应对巨大流量-在线票务网站 11 年前 |