我们正在运行一个图书搜索应用程序。它是通过休眠搜索实现的。
书籍实体定义如下:
@Entity
@Indexed
public class Book{
@DocumentId
private Integer UID;
@Field
private String title;
@Field
private String description;
...}
如果用户搜索书名,比如说他们输入 Microsoft access 2007,则书名或描述包含 microsoft,则返回 access 或 2007。这正是我们所期望的。由于关键字 2007,有些书完全不相关。我正在寻找一种解决方案来了解每个关键字的重要性。在这种情况下,2007 年在搜索中的重要性较低。但对于那个搜索,microsoft、access 或 2007 没有区别。
第二个用户案例:是否有一个好的分析器可以用于索引和查询以支持多个短语?我认为休眠搜索的默认分析器只是将搜索词标记为单个词?
如果搜索词是 microsoft access 2007,如果结果包含“microsoft access”,则结果得分最高,
另一个搜索示例:“盐湖城”、“美国”,如果仅匹配盐、城市或湖泊,则不会出现预期结果,或者至少,它们应该在“盐湖城”的结果后面。
谁能给我一些线索?
谢谢!