В установке SOLR, когда я выполняю поиск по полю с поисковым запросом, состоящим из нескольких слов, я хочу, чтобы SOLR возвращала документы, которые содержат все термины в поиске, но они не обязательно должны быть в точном порядке.
Например, если я ищу название Brown Chicken Brown Cow, я хочу найти все документы, содержащие все термины Brown, Chicken and Cow, независимо от порядка в поле заголовка. Так, например, заголовок «Курица и корова имеют коричневую корму» должен соответствовать запросу. AFAIK, так Google также выполняет поиск.
Я экспериментировал со следующими форматами запросов:
1. Title:Brown AND Title:Chicken
2. Title:Brown AND Chicken
3. Title:Brown+Chicken
Я очень смущен результатами. В некоторых случаях первые два запроса возвращают одинаковый точный набор результатов. В других случаях первая версия будет возвращать много результатов, а вторая версия не будет возвращать ни одного. Третья версия, кажется, отвечает моим потребностям, но меня смущает другое значение запросов.
Все мои тесты были выполнены для поля типа text_en.
<field name="Title" multiValued="false" type="text_en" indexed="true" stored="true"/>
Итак, каков наилучший запрос / настройка SOLR для этого типа поиска? Кроме того, существует ли простой способ заставить Solr.NET взять введенный пользователем поисковый запрос и преобразовать его в формат этого типа?
Кроме того, будет ли SOLR по умолчанию давать документам, которые соответствуют порядку поисковой фразы, более высокую оценку релевантности? Если нет, то на какие рычаги тянуть, чтобы это произошло?
Edit:
Некоторая моя путаница была вызвана поиском не по умолчанию, а по умолчанию. Зная это, единственный формат, который работает последовательно, это первый формат.