powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Lucene.NET или Full-text search?
19 сообщений из 19, страница 1 из 1
Lucene.NET или Full-text search?
    #38855728
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно говоря, предмет вопроса "Lucene.NET или Full-text search" использовать для поиска на сайте ASP.NET MVC5?
Что лучше, что эффективнее?
Грабли?
Библиотеки дополнительные?
Вопросы морфологии?

Вообще, стоит ли овчинка выделки? или просто "LIKE" для SQL - достаточно?

Входные данные:
12 сущностей по 3-16 свойств у каждой. Nvarchar поля поля почти у каждой, 6 из них NvarChar(max).. в самых больших таблицах по 10000-12000 записей.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38855815
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lucene.NET хоть и отстает от java версии но уже давно годный продукт.
CalabongaЧто лучше, что эффективнее?

эт как сказать что лучше java или C#. к примеру для Full-text search вам надо службу целую, тогда уж лучше elasticsearch. а Like медленный будет на больших объемах да морфологии как таковой не будет. Lucene.NET простенько в коробке и в большинстве запросов должно устроить вас.
CalabongaГрабли?

в 2.9 версии мне не хватило нормального русского стримера и приходилось писать на коленках свое, в 3++ версии уже все есть. вот даже для фасетного поиска библы появились. Бывало иногда лочился индекс на вставку но там беда была с неправильной работой.
CalabongaБиблиотеки дополнительные?

Lucene.NET ничего не тащит но плюшек к самой библиотеке можно найти

CalabongaВопросы морфологии?

не стоит от маленькой библиотеке прям ожидать вау эффекта. если откроете исходники хотя бы анализатора увидите как оно работает. но наверное в 90% случаев хватит такого простого.

CalabongaВообще, стоит ли овчинка выделки? или просто "LIKE" для SQL - достаточно?

ну если вам нужен топорный поиск то Like подойдет) индекс накрутите и может не будет тормозить)

CalabongaВходные данные:
12 сущностей по 3-16 свойств у каждой. Nvarchar поля поля почти у каждой, 6 из них NvarChar(max).. в самых больших таблицах по 10000-12000 записей.
ну у меня бд тестова на 50к и складывалось 5 полей и очень шустро. щас экспериментирую с фасетами на lucene, записей столько ж а вот кол-во свой изза eav модели переменянное(от 1 до сколько свойств накрутят), работает на порядок быстрее чем мульти join к таблицам.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38855905
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,

ИМХО, стоит. Хотя и FTS тоже прекрасно справляется с несложными задачами.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38855917
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu, что-то ты совсем уж о люцене простого мнения. На самом деле, люцена - реальный мощный движок с кучами фишек, способная удовлетворить самого матёрого потребителя. Очень понравилось работать с люценой под .net.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38855919
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
забавно, лет семь назад при приеме на работу, предложили написать что то типа похожее, с механизмом индексации
кросбазосностью, с ранжированием результата от поисковой фразы, без сторонних примочек.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38856122
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиhVostt,
забавно, лет семь назад при приеме на работу, предложили написать что то типа похожее, с механизмом индексации
кросбазосностью, с ранжированием результата от поисковой фразы, без сторонних примочек.

выбрал FTS?
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38857152
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем. В общих чертах смысл понятен. В любом случае есть пища для размышления, еще раз спасибо.
Буду думать ибо, основываясь на аксиомах:
1) в кривых руках и калькулятор зависает
2) просто вы не умеете их готовить
главное с умом подойти и взвешать все "+" и "-"...
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #38857260
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalabongaСпасибо всем. В общих чертах смысл понятен. В любом случае есть пища для размышления, еще раз спасибо.
Буду думать ибо, основываясь на аксиомах:
1) в кривых руках и калькулятор зависает
2) просто вы не умеете их готовить
главное с умом подойти и взвешать все "+" и "-"...

Думать всегда полезно ;-)

Кстати, по поводу:


"Вообще, стоит ли овчинка выделки? или просто "LIKE" для SQL - достаточно?
handmadeFromRu :
ну если вам нужен топорный поиск то Like подойдет) индекс накрутите и может не будет тормозить)"

Трудно сказать, где автор советует накрутить индекс для LIKE, но это конечно же поиск с плохой производительностью.
Индексами там практически и не пахнет.
Да, и помните о словоформах и пр.

зы. фигня это
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Lucene.NET или Full-text search?
    #40016789
SBatyrgareev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сам пользовался lucene net и SQL contains

проблемы с lucene:
- не работают wildcard в фразах т.е. сделать что-то подобное было невозможно: “ехал* домой человек*”;
- расстояние только между словами, нельзя сделать расстояния между групповыми запросами (один | два | три) ~5 (пять | (шесть & семь));
- постоянные падения по памяти, которой вечно не хватало;
- периодические проблемы с одновременным поиском и индексацией данных, приводившие к тому, что часть данных не попадало в индекс;
- необходимость разбивать сложные запросы, на несколько чтобы отрабатывали в удобоваримое время.

проблемы с sql full text:
- если данных становится очень много, то и индекс становится огромным, и скорость поиска падает
- словоформ нет

Не на правах рекламы, а только по доброте душевной можете попробовать,
но как у любого другого решения есть свои недостатки
Nuget пакет .net Core
Nuget пакет .net 472

В пакете реализованы 3 типа индексов:
- индекс в памяти «MemoryDocumentIndex» для быстрого поиска в памяти, ограниченный размером RAM;
- дисковый индекс «DiskDocumentIndex», сохраняет документы на диск в папку с именем индекса. Индекс можно переносить, просто скопировав папку в другую директорию и развернув новый инстанс.
- шардированный дисковый индекс «DiskShardDocumentIndex», для хранения больших индексов, на текущий момент может использоваться для хранения логов, до 90 млн документов.

Для морфологии можно использовать словарь русских термов
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40018436
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда странно, когда поднимается тема 5-10 летней давности, где половина юзеров забанена, кстати, почему бы их не выпустить?

Что это за дурь написана? Это о SQL Server?

"проблемы с sql full text:
- если данных становится очень много, то и индекс становится огромным, и скорость поиска падает
- словоформ нет"

Юзер, а вы имеете представление, как работает FTS ? Если нет, а так оно и есть, то с чего вы взяли, что ваши приблуды чем-то лучше?
Напишите попо дробнее о них
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40018449
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
почему бы их не выпустить?
объясни смысл. Если пользователь забанен 5 лет назад, то либо он сейчас пользуется другим аккаунтом, либо его уже нет на ресурсе
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40019172
SBatyrgareev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин,

1) О MS-SQL Server Full text search, выбрать его с возможность получить боль в будущем, когда данных станет много, если база до 1 млн записей, тогда конечно не стоит заморачиваться.

2) Вам объяснить почему падает скорость индексации в MS SQL, если таблица становится достаточно большой? Даже если отключить лог транзакции и вставлять данные батчами? И что MS SQL создает отдельный индекс на такую таблицу, которая также не прибавляет скорости вставки?

По поводу работы FTS можно почитать в интернетах, статья на один лист А4.
Основная проблема многих программистов думать, что они умнее всех, но хочу вас заверить что это не так, всегда найдется кто-то умнее, это не про себя конкретно, а про вашу манеру общения.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40019236
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBatyrgareev,

Асинхронный индекс вам о чём-то говорит? :)
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40020004
SBatyrgareev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,
Говорит, но проблема будет в дисковом чтении, при вставке данных в индекс, если только у вас не безлимитно памяти.

Давайте проясним я говорю об объеме данных от 1 млн сообщений в сутки, с текстом размером до 500Кб, с пиковыми нагрузками на рабочее время.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40020114
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBatyrgareev,

Ну так распределите нагрузку... :)

Много решений есть, FTS тут при чём?
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40020118
SBatyrgareev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,

:) При том что использовать FTS в SQL плохая идея, если данных достаточно много. и SQL кластер тут не поможет.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40020121
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBatyrgareev
hVostt,

:) При том что использовать FTS в SQL плохая идея, если данных достаточно много. и SQL кластер тут не поможет.


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

Вообще говорить, что FTS в SQL это плохо -- ну такое себе заявление.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40020122
SBatyrgareev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,

Так никто такого не заявляет, что FTS от MS SQL плохо, написано что для конкретной ситуации это плохой выбор.
...
Рейтинг: 0 / 0
Lucene.NET или Full-text search?
    #40020171
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBatyrgareev
Так никто такого не заявляет, что FTS от MS SQL плохо, написано что для конкретной ситуации это плохой выбор.


Вы как раз и заявляете "плохой выбор", "боль в будущем" и т.п. утверждения.
При чём ссылаетесь на большой объём данных, типа в MS SQL используют FTS только на жалкой тысчёнке записей что ли? А какой, простите, в этом смысл? У нас есть FTS на данных с количеством записей более 500 миллионов и это превосходно работает.

При чём вы говорите следующее:

>> но проблема будет в дисковом чтении, при вставке данных в индекс

А в других решениях, там что волшебство какое-то, связь с космосом, инопланетяне? Диски не используются или как? :)

Сколько бы сообщений в сутки, в час, в секунду не было, их всё равно нужно проиндексировать, а индекс куда-то положить. Думаете тот же эластик в космическое подпространство данные складывает, а потом достаёт как фокусник из шляпы? Это только MS SQL отсталый, использует ОЗУ и диски -- вот же тупые там ребята из майков

Конечно же есть причины не использовать MS SQL FTS, а что-то другое, но вы их не назвали.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Lucene.NET или Full-text search?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]