【发布时间】:2009-10-08 09:18:15
【问题描述】:
我有一个从数据库填充的 Lucene 索引。我存储/索引一些字段,然后添加一个全文字段,在其中索引所有其他字段的内容,以便进行一般搜索。
现在假设我有一个包含以下两个字段的文档: fld1 - “三星发布新的 22 英寸 LCD 屏幕” fld2 - “索尼爱立信手机的电池爆炸”
如果用户使用“三星手机”,他可能只想要关于三星手机的新闻,而不是包含三星屏幕和索尼手机信息的文档,但通过全文字段搜索,我会得到这个有效结果。 有什么好的方法来处理这个吗?
我考虑过使用一些分隔符进行索引并执行 SpanNotQuery,因此 FullText 字段将包含以下内容: “三星发布新的22英寸液晶屏MYLUCENESEPARATOR索尼爱立信手机电池爆炸”,然后用MYLUCENESEPARATOR作为non-spanning term进行SpanNotQuery。
这是一个好的解决方案吗?它是否可以很好地扩展两个以上的术语?我担心它会成为性能杀手。有没有更好的方法来实现这一点?
【问题讨论】:
标签: full-text-search lucene lucene.net