Поиск Grails не использует поле во время полнотекстового поиска
Домен (простой пример):
class House {
String address
String region
Long price
static searchable = { only = ['address', 'price', 'region'] }
}
Я хочу искать по адресу с ценовым селектором
Поисковый запрос:
"${address} AND price: [100 TO 1000]"
Но если address='500' в результате поиска будет Дом с ценой 500. Мне нужно найти дом по адресу только House.address + House.region
1 ответ
Если я понял, вы хотите использовать значение ${address} для запроса только по атрибутам адреса и региона.
В этом случае, основываясь на "сложном" примере строки запроса на http://grails.org/Searchable+Plugin+-+Searching+-+String+Queries, ваша строка запроса может быть:
"+ (адрес:${адрес} ИЛИ регион:${адрес}) цена:[100 ДО 1000]"
- Совпадения должны иметь значение ${address} для адреса или значение ${address} для региона и значение от 100 до 1000 для цены.
Примечание: ваша входная переменная имеет то же имя атрибута сущности, "адрес", который может вызвать некоторую путаницу при попытке понять строки запроса, используя их обе. Хотя это и не нужно, вы можете изменить это для более удобочитаемых строк запроса.