Solr - эквивалент LIKE в SQL - PullRequest
       21

Solr - эквивалент LIKE в SQL

1 голос
/ 21 февраля 2011

Я пытался создать коллекцию в Apache Solr через ColdFusion 9 из набора результатов базы данных.Я хотел бы сделать поиск, который будет выглядеть следующим образом в SQL:

select * from events where eventName like 'Meet%'

В SQL это будет частично соответствовать по слову и вернуть строку.Я пытаюсь сделать это, используя коллекцию Solr и <cfsearch> в CF следующим образом:

<cfsearch collection="#myCollection#" criteria="Meet*" name="results" />

Однако я не верну данные, пока не укажу полное слово, несмотря на использование подстановочного знака. документы говорят, что подстановочный знак не разрешен в начале поиска, но он не говорит, что он не разрешен в конце.На самом деле для меня это нигде не работает!

<!--- No results -->
<cfsearch collection="#myCollection#" criteria="Meet*" name="results" /> 

<!--- No results -->
<cfsearch collection="#myCollection#" criteria="Meet*g" name="results" />

<!--- No results -->
<cfsearch collection="#myCollection#" criteria="Meeti?g" name="results" />

<!--- Yes - results! -->
<cfsearch collection="#myCollection#" criteria="Meeting" name="results" />

Кто-нибудь реализовал поиск Solr с подстановочными знаками, используя <cfsearch>?Если да, можете ли вы указать мне правильное направление на это, пожалуйста?

Ответы [ 2 ]

5 голосов
/ 23 февраля 2011

Попробуйте «встретиться», а не «встретиться». Я обнаружил, что подстановочные знаки будут работать только со строчными буквами, поэтому всякий раз, когда поисковый запрос содержит звездочку I LCase (), перед передачей ее в Solr.

1 голос
/ 21 февраля 2011

Вы смотрели этот пост о поиске по шаблону в Solr?Пока вы используете правильный синтаксический анализатор запросов, то есть тот, который поддерживает подстановочные запросы, вы сможете выполнять запрос «Meet%», используя «Meet *».

...