фона:Solr частичное совпадение слова
- Solr 4,10;
- linux/java - Наверное, они неактуальны в этой точке;
У меня есть слово: ABCDEF
. Мне нужно найти все документы, имя которых (поле: NAME
) имеет заданное количество писем, общее с ABCDEF
. Пример: ABCDEF
должен соответствовать для 4 буквы спички:
- сам по себе (
ABCDEF
,ABCD
,BCDE
и т.д.); - различные подстановки:
B..A.DE...
,..F..A.DE...
- где точки находятся здесь другими буквами, чем вABCDEF
.
Я хотел бы попробовать использовать регулярное выражение (например: ^(.?)([ABCDEF] (.?)){4}$
), но это будет также соответствовать A..A..B..C
(A
там дважды) и мне не нужно это.
Поле типа string
. Тем не менее, не будет проблемой добавить другое поле, которое будет маркироваться и индексироваться по-разному.
Кроме того, нечеткий поиск/совпадение не было бы вариантом - так как мне нужны эти точные буквы, которые появятся в соответствующем поле.
Любая идея?
Спасибо!
Можете ли вы дать какой-либо прецедент из своего сценария, чтобы я знал, что именно вы хотите сделать. Несколько месяцев назад я тоже был в подобной ситуации, имея дело с solr. –
Ну, это просто: у меня есть имя книги, и мне нужно искать в solr, если есть книга, которая начинается с тех же двух букв (скажем), и у нее есть еще 3 буквы вместе с оригинальным именем. позиция других 3 букв не важна, но она не должна пересекаться с двумя буквами в начале. – dcg