У меня есть следующие проиндексированные документы в моей настройке Solr 4.0
с их полем заголовка, содержащим документы -
- Работать
- Топология
- ... ‹ многое другое >
У меня есть поле заголовка как solr.StrField
(строка). У меня также есть copyField
поля title
в другом поле title_token
типа solr.TextField
с токенизатором StandardTokenizerFactory
и фильтром LowerCaseFilterFactory
.
Когда пользователь ищет только To
, чтобы получить документы, title
которых начинается с To
, я запрашиваю Solr
с title:To*
. Работает отлично. Отображает документы 1 и 2.
Однако, когда пользователь ищет To
(с пробелом после «Кому»), я отправляю этот запрос на Solr
, например title:To *
(с пробелом между «Кому» и *). В идеале должен отображаться только 1-й документ. Однако все документы отображаются.
Когда я запрашиваю title:To *
вместе с &debugQuery=true
, запрос анализируется как "parsedquery_toString":"title:to title:*"
.
Поскольку title:*
будет отображать все документы, отображаются все документы.
Как мне запросить To *
, который даст мне все документы, имеющие title
, начинающиеся с To
(с пробелом после To), в этом случае должен отображаться документ 1?
Я использую Embedded Solr server
на своем Web App
на Tomcat
. Я использую solrj
для запроса и получения результатов.