Solr TermsComponent: Использование подстановочных знаков - PullRequest
1 голос
/ 14 ноября 2010

Я использую Solr 1.4.1, и я готов использовать TermsComponent для автозаполнения. Проблема в том, что я не могу сопоставить строки с пробелами в них. Так сказать,

terms.fl=name&terms.lower=david&terms.prefix=david&terms.lower.incl=false&indent=true&wt=json

соответствует всем строкам, начинающимся с "david", но если я изменю его на:

terms.fl=name&terms.lower=david%20&terms.prefix=david%20&terms.lower.incl=false&indent=true&wt=json

не соответствует всем строкам, начинающимся с "david". Так и должно быть? Если так, то n-граммы - это путь? И кто-нибудь знает, реализует ли TermsComponent триалы, DAWG или деревья Raddix и эффективен ли он?

Приветствия
Парс

1 Ответ

2 голосов
/ 14 ноября 2010

AFAIK TermsComponent предоставляет raw (т.е. буквальный) доступ к терминам полей, поэтому, если нет термина с пробелом (как правило, его нет, токенайзер пробельных символов позаботится об этом) не будет ничего соответствовать TermsComponent не реализует попытки или что-либо еще, он просто перечисляет термины в индексе поля.

ИМХО нграммы - более гибкое решение для автозаполнения.

В следующем выпуске Solr будет установлен специальный компонент для реализации автозаполнения (вы можете использовать его сейчас, если используете ночные сборки )

...