0

プロジェクトでコンパスベースのインデックスを使用しています。シナリオの1つに、「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行を返します。

4

2 に答える 2

1

#は特殊文字ではないと思うので、これが機能しないことに驚いています。を使用して文字をエスケープしてみることができ\#ます。

別のオプションは、用語を引用符で囲むことです。

幸運を

于 2011-12-23T12:12:02.897 に答える
0

フィールド宣言に次のように注釈を付ける必要がありました

NOT_ANALYZED :(アナライザーを使用せずにプロパティの値にインデックスを付けるため、検索できます)

@SearchableProperty(index=Index.NOT_ANALYZED)
private String field_name;
于 2011-12-29T05:08:27.357 に答える