C #, многоядерный solr, Lucene, осколки, регистрозависимый «содержит» поиск и одна гигантская мигрень - PullRequest
0 голосов
/ 26 августа 2010

У меня одна черта времени с моей реализацией.

У нас запущен сервер solr. У нас есть 3 ядра, и для простоты давайте назовем их «Участники», «Бизнес» и «Продукты»

Я пытался использовать solrnet, но он не поддерживает шардинг. Итак, я боюсь, что мне придется создать URL самостоятельно.

Итак, я использовал инструмент администратора, чтобы создать несколько примеров URL-адресов для запросов, когда заметил проблему. Solr делает «равно», а не «содержит», и он чувствителен к регистру. Я знаю, что, наверное, все об этом не так.

Итак, я прочитал, что мне нужно установить для параметра qt значение "dismax", только когда я ищу только ядро ​​участника, через инструмент администратора я получаю "неопределенную цену поля" .... мой член не ' у меня нет ценового поля. Мой продукт, хотя.

Мне нужно сделать следующее с моим запросом.

  1. Поиск по нескольким ядрам (sharding)
  2. Нечувствительность к регистру
  3. Содержит слово вместо слова
  4. Поиск по нескольким полям
  5. Объявить приоритет полей (сначала поиск по имени, затем описанию и т. Д.)

Вероятно, у меня неправильный запрос, но вот как он выглядит (имя сервера изменено, чтобы защитить невинного) Поле имени на самом деле является конкатонацией имени и фамилии пользователя .... поэтому я пытался проверить, не является ли dismax увидит, если имя содержит слово Джим (без учета регистра).

mysolrserver.mydomain.int: 8080 / solrQA / выберите отступ = на & версию = 2,2 & д = Имя: джим & FQ = & начать = 0 & строки = 10 & П = *% 2Cscore & кварта = dismax & мас = стандартный & explainOther = & hl.fl = & Осколки = mysolrserver.mydomain. INT: 8080 / Участники, mysolrserver.mydomain.int: 8080 / Компания

Любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 26 августа 2010
  1. SolrNet и шардинг: вы пробовали свойство ExtraParams ?
  2. Нечувствительность к регистру: это обрабатывается LowerCaseFilterFactory
  3. Содержит слово: это обрабатывается токенизатором, например WhitespaceTokenizerFactory.
  4. Поиск по нескольким полям и усиление: поскольку вы используете dismax, см. Параметр qf .
...