我想精确搜索具有“xx-xx-xx”格式的实体字段。
该实体如下所示:
@Entity
@Indexed
class Resource {
@Field
private String address; // has "xx-xx-xx" format
}
查询创建过程如下:
queryBuilder.keyword().onFields("resource").matching(searchQuery).createQuery()
假设我有两个具有以下地址的资源:
aa-bb-cc
cc-dd-ee
当我运行搜索查询"aa-bb-cc"
时,我希望只返回第一个资源,而是让搜索返回两个资源。
我应该根据资源字段进行更改以及进行精确搜索?
答案 0 :(得分:2)
您需要为此字段禁用默认分析器,以便将其视为"确切"关键字:
@Entity
@Indexed
class Resource {
@Field(analyze=Analyze.NO)
private String address; // has "xx-xx-xx" format
}