2015-12-16 4 views
0

У меня проблема с StandardTokenizer of Solr.Solr StandardTokenizer wild card пунктуация петь вместе одним и тем же словом странное поведение

Если я ищу:

text_field:lastname 

он найдет что-то

Если я ищу:

text_field:last*ame 

будет найти soething

Если я ищу для:

text_field:lastname; 

Но если я ищу:

text_field:last*ame; 

поиск ничего не вернуть. Зачем? StandardTokenizer не должен лишать знак пунктуации от конца слова? В принципе, если я использую дикую карточку и знак пунктуации в слове, знак пунктуации больше не чередуется. Есть способ снять знаки пунктуации, даже если мы используем подстановочные знаки?

ответ

1

Solr не выполняет анализ запроса, когда вы делаете групповые запросы. Этот термин будет использоваться только для сопоставления диких карт с токенами, хранящимися для поля. StandardTokenizer будет разделен на границы слов, а ; будет считаться границей, что будет означать, что индексы, индексированные, не содержат ;, но запрос будет.

Возможно, вы захотите удалить ; в свой слой запроса.

Here - ссылка на документацию SOLR, которая далее объясняет, почему групповые и другие запросы с несколькими элементами не подвергаются анализу.

+0

Благодарим за ответ. Он прояснил ситуацию. Но есть простой способ разбить знаки пунктуации в сочетании с подстановочными знаками в Solr (возможно, что-то помещать в конфигурацию), кроме разбора строки и полоски? – DanutClapa

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

  • Нет связанных вопросов^_^