компас возвращает 0 строк с «#» (хэш-символ) в поисковом запросе - PullRequest
0 голосов
/ 21 декабря 2011

Я использую индексацию по компасу в моем проекте. Теперь в одном из сценариев у меня есть значения полей что-то вроде '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 строки ..

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Я не думаю, что # - особый персонаж, поэтому я удивлен, что это не работает для вас. Вы можете попробовать экранировать персонажа, используя \#.

Другим вариантом может быть заключение в кавычки термина

Удачи

0 голосов
/ 29 декабря 2011

Мне нужно было аннотировать объявление поля как

NOT_ANALYZED: (индексировать значение свойства без использования анализатора, чтобы его можно было искать)

@SearchableProperty(index=Index.NOT_ANALYZED)
private String field_name;
...