Как создать автозаполнение/предложения с Lucene.NET?

Как создать автозаполнение/предложения с помощью Lucene.NET?


person Yoann. B    schedule 17.02.2010    source источник
comment
Вы хотите, чтобы он воздействовал на предыдущие запросы, полный словарь поискового индекса или выполнял поиск/поиск по определенным полям ваших данных?   -  person Mikael Svenson    schedule 17.02.2010
comment
Вот хороший новый вопрос с хорошим ответом Использование Java, но если вы используете бета-версию 4.8, то все в порядке   -  person Alexander    schedule 21.06.2018


Ответы (2)


Очень простой ответ здесь, это поможет вам начать.

Проект SpellChecker, который является частью вклада lucene.net, предоставит вам Google «Вы имели в виду?» как функциональность, проверьте это.

Для автозаполнения вы можете добавить * в конце текстового запроса. Таким образом, ja* вернет java, jack, jane и т. д. Кроме того, *va вернет java, lava и т. д. (хотя вы должны явно разрешить начальные подстановочные знаки).

надеюсь это поможет

person Pablote    schedule 11.12.2011

создать базу данных всех поисковых запросов, поступающих в ваше приложение. (журнал запросов)

создать таблицу с похожими полями

QueryText varchar(x)
Occurence int

затем выполните поиск, где текст запроса начинается с того, что ищет пользователь, и упорядочите по вхождению по убыванию.

where QueryText LIKE 'some text%' ORDER BY Occurence DESC
person Andrew Smith    schedule 21.02.2010
comment
Мне интересно узнать, почему люди проголосовали за это, хотя я думаю, что знаю ответ... (слишком медленно?) - person Tim Lovell-Smith; 27.11.2012
comment
Я сам не уверен, но это было бы совсем не медленно, потому что мы помечаем вхождение запроса, поэтому вместо 100 строк одного и того же текста у нас есть только 1 строка с вхождением 100. Вы можете хранить это самостоятельно внутри SQL или в Lucene, если хотите. Я на самом деле использую это, и он очень хорошо находит общие поисковые фразы. - person Andrew Smith; 01.04.2014