2013-03-25 2 views
0

Я получаю столбец в Solr - типа строка, которая со значениями типа «JOHN JACKON», «JAKE СМИТ», «Johnatan JAMESON»Можно ли сделать такой запрос в Solr

IS это можно сказать solr, когда я набираю J, чтобы получить первую эту запись, которая имеет J больше раз, чем другая.

ответ

0

Вы можете использовать solr.EdgeNGramFilterFactory. Вы можете установить minGramSize на 1.

Этот FilterFactory очень полезен при сопоставлении подстрочных подстрок (или суффиксных подстрок, если side = "back") определенных терминов в индексе во время запроса.

Ссылка: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory

Так для примера выше,

для Джон Джексон, он будет хранить:

J, JO, JOH, JOHN, J, JA, JAC, JACK, домкраты , ДЖЕКСОН

и Джейка СМИТ:

J, JA, JAK, Jake, S, SM, SMI, SMIT, SMITH

Теперь, когда кто-то ищет J, первый документ (john jackson) получит более высокий балл, потому что J дважды в индексе.

Смежные вопросы