Правильная настройка анализатора снежного кома при использовании Grails Searchable Plugin - PullRequest
1 голос
/ 29 апреля 2010

Для улучшения стемминга мы хотим переключиться с анализатора по умолчанию на снежный ком, однако, столкнувшись с большими сложностями с правильными настройками, будем благодарны за любую помощь. В

Окружающая среда: - Sun's Java 1.6.16 - Граальс 1.2.2 - Плагин для поиска 0.5.5

Config.groovy: Пробовал обе настройки:

compassSettings = ['compass.engine.analyzer.stemmed.type': 'snowball',
                     'compass.engine.analyzer.stemmed.name': 'English']

compassSettings = ['compass.engine.analyzer.snowball.type': 'snowball',
                     'compass.engine.analyzer.snowball.name': 'English',
                     'compass.engine.analyzer.search.type': 'snowball',
                     'compass.engine.analyzer.search.name': 'English']

Search.groovy - Вызов:

def searchResult = searchableService.search(params.q, withHighlighter: {
highlighter, index, sr 

  if (!sr.highlights) {
    sr.highlights = []
  }
  try {
         sr.highlights[index] = highlighter.fragments("content")[0..2].join(" ")
      } catch (IndexOutOfBoundsException ex) {
          sr.highlights[index] = highlighter.fragment("content")
      }
  })

  def suggestion = searchableService.suggestQuery(params.q)
  if (suggestion != params.q) {
      searchResult.suggestedQuery = suggestion
  }

1 Ответ

0 голосов
/ 24 ноября 2010

Вы пытались поместить эти настройки в Searchable.groovy вместо Config.grovy?

В Searchable.groovy, у меня есть:

    compassSettings = [
    'compass.engine.analyzer.default.type': 'snowball',
    'compass.engine.analyzer.default.name': 'English',
    'compass.engine.analyzer.search.type': 'snowball',
    'compass.engine.analyzer.search.name': 'English',
]

И мне кажется, это прекрасно работает.

...