У меня проблема с Solr, где я не могу примирить неточный поиск с несколькими словами.Множественный поиск слов с Solr
В настоящее время мой Solr настроен таким образом: query=ctnt_val:*keyword*
где ctnt_val - это поле, которое я ищу, и ключевое слово значение, которое я передаю.
Так что, если я типа LON он будет возвращать все результаты с больше, Лондон ... который является то, что я хочу.
Проблема заключается в том, что если мой запрос несколько слов долго (например, Gotham City), он возвращает все результаты, содержащие Gotham и все результаты, содержащие город, вместо того, чтобы вернуться только все результаты, содержащие Готэм-сити.
Если изменить запрос, как query=ctnt_val:"keyword"
он работает, но тогда я теряю способность делать неточный поиск (долготы больше не будет возвращаться Лондон). Если я сделаю query=ctnt_val:*"keyword"*
, я получаю ВСЕ результаты из моей БД, что явно не то, что я хочу.
Любые идеи?
Weird ... 'д = ctnt_val: мой% 20profile' дает мне 26 результатов, но' д = ctnt_val: мой% 20profile & q.op = AND' дает me 0 results – Lupuss
Вы избегаете пространства. как q = ctnt_val: мой профиль, будет искать поле my on ctnt_val и профиль в поле по умолчанию, а AND делает его обязательным для обоих условий. – Jayendra
'q = ctnt_val: my% 20profile & q.op = AND' и' q = ctnt_val: my \% 20profile & q.op = AND' дают мне тот же результат: zero :( – Lupuss