我在我的项目中使用标准分析器,但当我想根据标题搜索工作时,使用一些特殊字符,如#或+,它不起作用,返回的项目包含所需的文本。
@Data
@Document(indexName = "jobs")
public final class Job {
@Id
private Long id;
@Field(type = FieldType.Long)
private Long userId;
@Field(type = FieldType.Text, analyzer = "standard")
private String title;
@Field(type = FieldType.Text, analyzer = "standard")
private String description;
@Field(type = FieldType.Keyword)
private JobStatus status;
}
1条答案
按热度按时间z3yyvxxp1#
standard analyzer使用,standard tokenizer。标准标记器使用Unicode Standard Annex #29标记您的“文本”并删除您案例中的
+
和#
。你能做什么?
1.您可以使用
.keyword
字段。默认情况下不会对其进行分析。1.您可以使用custom analyzer创建新字段。
详细信息: