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.

Другие вопросы по тегам