Coldfusion (Solr) поисковое поведение
У меня есть этот шаблон "indexer":
<cfquery name="LOCAL.modelli" datasource="xxx">
SELECT id, name, brand FROM products
</cfquery>
<cfindex action="refresh"
collection="mycoll"
key="id"
type="custom"
title="nome"
query="LOCAL.modelli"
body="nome" />
И я использую этот код для поиска ( #t# исходит из поля формы поиска):
<cfsearch collection="mycoll" name="LOCAL.ricerca" criteria="#t#" status="LOCAL.searchStatus" suggestions="always" />
Представьте, что у меня есть эта таблица "продукты" в БД:
ID | Имя |
1 | ФРАГ 13 |
2 | ФУБАР |
3 | ФРОГСКИН |
Поиск "лягушка" НЕ НАХОДИТ "Лягушонок"!
Вместо этого он предлагает "фраг".
Это нормальное поведение? Можете ли вы объяснить это мне?
Как я могу заставить свою поисковую систему находить "лягушонок" с критерием "лягушка"? (Я бы хотел избежать выполнения SQL-запроса к "products" для улучшения результатов) .
Спасибо.
1 ответ
Не используя подстановочный знак, двигатель будет искать точное слово "лягушка"
Вам нужно использовать подстановочный знак ?
или же *
, Обратите внимание, что SOLR не поддерживает ведущие символы подстановки, поэтому*frog
не нашел бы bullfrog
но frog*
должен найти frogskin
см. примеры поиска Solr для получения дополнительной информации о поиске с помощью SOLR и ColdFusion.