2017-01-02 3 views
0

Используя Solr 4.0, у меня есть поле Title_t (для хранения названий книг), которое имеет тип TextField. Если предположить, что это следующие названия хранятся в моей БД:Как выполнить частичный поиск при сохранении порядка с помощью solr?

  • физики Руководство
  • Учебник по теоретической физике
  • общефизическом Книга

Если один хочет искать титул " Физическое руководство ", тогда можно было бы использовать Title_t: физика G * это все результаты

  • Руководство по физике
  • Учебник по теоретической физике

Теперь, на мой вопрос

  • общефизическом Книга
  • :

    Почему разве фильтр не отображается только результат «Руководство по физике»? Поскольку критерием поиска является «физика G *», а не «* физика G *», должен отображаться только один результат. Есть ли способ сохранить порядок в ключевом ключе поиска?

    ответ

    0

    После анализа вы запрашиваете Title_t:physics G* станет как

    Title_t:physics df:G* 
    

    ф.р. здесь по умолчанию поле (как правило, это будет текст, проверить конфигурационные файлы). , а оператор по умолчанию - ИЛИ. поэтому он возвращает документы с Title_t имея термин «физика» и документы с любыми полями скопированных поля по умолчанию словами, начиная с G.

    Попробуйте с ComplexPhraseQueryParser

    q={!complexphrase inOrder=true}Title_t:"physics G*" 
    
    +0

    'заказовМои = true' сохраняет слова заказ. – vinod

    +0

    это работает для меня. спасибо @vinod – GermanShepherd

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