Из того, что вы только что добавили в свой вопрос, и предположив, что анализатор запросов Lucene игнорирует пробел после вашего :
, запрос равен Content:trade <default search field>:Apple
- вы не ищете ни первое, ни второе условие в Content
поле.
Когда вы меняете их местами, вы ищете Content:Apple <default search field>:trade
.
Поле поиска по умолчанию _text_
в конфигурации по умолчанию. Поскольку запросы различны, вы можете предположить, что в поле имеется разное содержимое (например, если не выполнить переиндексацию должным образом и очистить индекс после добавления инструкции copyField
).
Если вы хотите использовать free текстовый поиск, который легко сопоставляется с пользовательским вводом, вместо этого используйте анализатор запросов edismax (defType=edismax
), введите запрос в q=apple trade
и укажите имена полей в qf=Content
.