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

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

Входные данные:
12 сущностей по 3-16 свойств у каждой. Nvarchar поля поля почти у каждой, 6 из них NvarChar(max).. в самых больших таблицах по 10000-12000 записей.
...
Рейтинг: 0 / 0
16.01.2015, 09:41
    #38855815
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lucene.NET или Full-text search?
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
16.01.2015, 11:06
    #38855905
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lucene.NET или Full-text search?
Calabonga,

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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


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