我在项目中使用基于罗盘的索引。现在,在其中一个场景中,我的字段值类似于' dummy#value'。因此,如果我尝试使用包含'#'的任何值进行搜索字符,它返回0行..
例如
DummyTable
id field_name
----------------
1 dummy#value
2 otherVal1
3 otherVal2
查询
+(+alias:DummyTable +field_name:dummy#value*) +(alias:DummyTable)
返回0行,而
+(+alias:DummyTable +field_name:dummy*) +(alias:DummyTable)
返回1行..
答案 0 :(得分:1)
我不认为#是一个特殊角色所以我很惊讶这不适合你。您可以尝试使用\#
转义字符。
另一种选择可能是用引号括起来这个术语
祝你好运答案 1 :(得分:0)
我被要求将字段声明注释为
NOT_ANALYZED :(不使用分析器索引属性的值,因此可以搜索它)
@SearchableProperty(index=Index.NOT_ANALYZED)
private String field_name;