LINUX.ORG.RU

Вышел релиз поискового движка Apache Lucene 3.0.0

 , , ,


0

0

Основные изменения:

  • Теперь требуется Java 1.5
  • Изменилось API
  • Устранены устаревшие конструкции, такие как Field.Store.COMPRESS, SpanQuery.getTerms и т.д.
  • Произведена оптимизация некоторых API-функций

The Apache Lucene — это свободная библиотека для высокоскоростного полнотекстового поиска, написанная на Java. Ключевой особенностью данной библиотеки является, то что требуется малый объем памяти, наличие ранжированного поиска, возможность одновременного поиска и обновления индекса, поиск основанный на «полях» и т.д. (более подробно в Википедии)

Лицензия: Apache Software License

Новость взята с opennet.ru

>>> Подробности

Ответ на: комментарий от Siado

>>> высокоскоростного

написанная на Java


требуется малый объем памяти


Действительно всё так хорошо?


Ну это же тебе не swing какой-нибудь,


Уточнение - не свинг под иксами.

LamerOk ★★★★★
()
Ответ на: комментарий от AVL2

> История знает множество примеров, когда программа на старой яве перестает работать на новой.

История может поделиться с нами своими знаниями?

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

>> История знает множество примеров, когда программа на старой яве перестает работать на новой.

История может поделиться с нами своими знаниями?

У нас на работе постоянно какие-нибудь грабли с внутренними явовскими тулзами вылазят при обновлении явы. Обновил с 1.6.02 на 1.6.14 - получил пару отвалившихся софтин. Вернул взад - все работает. Названия софтин не скажу, ибо нет смысла и прав - они за пределами фирмы не нужны ни разу, т.к. используются для доступа к внутренним сервисам.

Toll ★★
()
Ответ на: комментарий от a3

жаба отдаст 800 метров (ну или хотя-бы 500) из захаванного гига?


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

ArsenShnurkov
()
Ответ на: комментарий от LamerOk

> > История знает множество примеров, когда программа на старой яве перестает работать на новой.

История может поделиться с нами своими знаниями?

Они из-за обратной совместимости жертвуют даже производительностью в generics. Там используется type erasure, что означает что generics нет на уровне jvm, это чисто синтаксический сахар, а реально имеем класс, который работает с Object. С классами проблем нет. Но это значит отсутствие примитивов в generics. Они автоматически проходят через боксинг. Причем например int превращается в Integer, класс, значение в котором изменить нельзя (immutable class). Для изменения нужно создать другой Integer и записать его на место старого. В итоге имеем (если не ошибаюсь) лишние 16 байт на один несчасный int, нагрузку на сборщик мусора, разбрасывание обьектов в памяти. У нас в универе на лабораторной по pthreads я одним кешем проца я ускорил работу программы в 8 раз на Xeon. Так что это важно.

Я очень хорошо знаю Java, и это ее единственный костыль, который не связан с кривыми руками школоты. Хотя костыль... Не знаю... Инженеры сознательно жертвуют таким чтобы была совместимость с предыдущими версиями. И она на высоте.

Это и есть еще одна причина когда Java тормозит иногда. Но поверьте, добавить пару инструкций в jvm, раз плюнуть. Не могут. Пусть время пройдет и побольше корпоративных клиентов вылезут из старья типо Java 1.5 и перелезут с J2EE на Java EE 6. Он легче легкого и супер удобен, особенно в Glassfish v3. Но с ними как всегда опоздали и не глубоко копающие програмеры начали перелезать на вещи попроще. «А J2EE слижком сложен. Я лучше по старинке, LAMP...» А когда надо посложнее что-то, то вообще кормят MS и на ASP.NET лезут. Хоть бы заглянули на в мир Java вдумчиво и не велись на мифы времен 90х о том что Java EE - раздутый тормоз.

Согласен с ними только в сфере отсутствия дешевого хостинга. Которого нет по причине курицы и яйца.

vertexua ★★★★★
()
Ответ на: комментарий от Toll

> получил пару отвалившихся софтин.

Отвалившихся на чём? Вот что критично.

LamerOk ★★★★★
()
Ответ на: комментарий от vertexua

> Они из-за обратной совместимости жертвуют даже производительностью в generics.

Ну это не минус, это плюс. Вопрос как раз в том, где, когда и самое главное - как им удаётся её нарушить.

LamerOk ★★★★★
()
Ответ на: комментарий от vertexua

Все возмущающиеся против аппетитов жабы просто тупо троллят. Она такая несуразная (уж не хуже .NET) потому что она такая удобная. Желающие бороться за производительность во что бы то ни стало могут идти писать на C. Всегда лучше иметь функциональную, хотя и ресурсоёмкую программу как OOo, чем когда тебя будет иметь бета-тестирование очередного C++ поделия типа KOffice.

PS Сам пишу на Питоне.

Vudod ★★★★★
()
Ответ на: комментарий от Vudod

ресурсоёмкую программу как OOo, чем когда тебя будет иметь бета-тестирование очередного C++ поделия типа KOffice


Трололо, OOo тоже на c++

skarrok
()
Ответ на: комментарий от LamerOk

>Ты говоришь «тоже» так, будто там нет частей на яве

В ядре - нет. У меня нет явы и при этом ooo прекрасно работает. Единственное, xml документы не открывает, требует яву, но это уже не ядро.

troop
()
Ответ на: комментарий от vertexua

> Запрос выполнен ))) Год сижу на лоре как анонимус. )))

:)

hobbit ★★★★★
()

> Java

малый объем памяти


Java

малый объем памяти

ip1981 ☆☆
()
Ответ на: комментарий от troop

> В ядре - нет. У меня нет явы и при этом ooo прекрасно работает. Единственное, xml документы не открывает, требует яву, но это уже не ядро.

Ты внутрь OOo лазал, знаток? Залезь, посмотри ради разнообразия. Чтобы потом глупости не городить. Ты там не только жабу отыщешь, но и Питон и ещё кучу всякого добра.

Задолбали это C++ фанатеи.

Vudod ★★★★★
()

по поводу новости, API как бы ОН, а не ОНО. Грамар нацци негодуют :)

alt0v14 ★★★
()
Ответ на: комментарий от h31

CLucene - порт люсен на це... Не понимаю анонимусов - не нравится, юзай цлюсен или вообще не трогай... До октября жабовый sesame2 был единственным юзабельным бэкэндом для непомука. Сейчас поставил виртуозо, субъективно памяти жрет больше.

Fat_Green_Liar
()
Ответ на: комментарий от anonymous

Ты запустил и просто смотрел на него?


Это вашим KDE нужно 512 Мб чтобы только запустить и просто смотреть на них

Karapuz ★★★★★
()
Ответ на: комментарий от vertexua

Они из-за обратной совместимости жертвуют даже производительностью в generics. Там используется type erasure, что означает что generics нет на уровне jvm, это чисто синтаксический сахар, а реально имеем класс, который работает с Object.


Слушайте, почему они не хотят сделать два транка, один старый, с type erasure, для совместимости с J 1.1, 1.3, 1.4 и одни новый, Next Java? С новой, улучшенной JVM без этих недостатков? Да, 5 лет придется тащить старую, а потом тупо отдать ее в опенсорс, пусть, кому нужна 1.1 и 1.3 поддерживают старую ветку а пишущим актуальный софт развивать 1.7?

Karapuz ★★★★★
()
Ответ на: комментарий от anonymous

Как ты вовремя! Я уже было собирался заигнорить анонимусов. Последнее время они уж больно толстые.

Режимы -server и -client выбираются в зависимости от параметров вашей системы.

Не знал! Понадобиться что-нибуть на жабе, обязательно попробую потестить.

Признаю одно, в Sun проиграли маркетинг, а в Microsoft его выиграли. Одним маркетингом шарп - лучше.

Маркетинг это другой вопрос. Но сравнивать производительность с шарпом это как-то несерьёзно. Всё имхо, т.к. с шарпом тоже плотно не знаком, но идеологически презираю.

fractaler ★★★★★
()

Куль-линускоидам Джава не нужна.

Правда, и куль-линуксоиды в серьезном бизнесе тоже не нужны.

Bioreactor ★★★★★
()
Ответ на: комментарий от d9d9

Можно подумать плюсплюсники что-то делают, не обложившись своими бустами и кутэ

Karapuz ★★★★★
()
Ответ на: комментарий от troop

>Ты говоришь «тоже» так, будто там нет частей на яве

В ядре - нет. У меня нет явы и при этом ooo прекрасно работает. Единственное, xml документы не открывает, требует яву, но это уже не ядро.


Хм. А я почему-то думал, что ODT внутри и есть XML. И за последние полгода чтения ЛОР уже 12 раз поменял мнение: на чем написан OOo, на JAVA или не на JAVA!
Может кто-нибуть окончательно сказать на чем он написан? Или это пока науке неизвестно?

valich ★★★
()
Ответ на: комментарий от anonymous

Если же у вас машина не очень, то запускается client jvm. Мое приложение (с GUI) заняло 28 МБ ОЗУ. В итоге некоторые оптимизации выключены.


А если -client и -XX:+TieredCompilation?

Karapuz ★★★★★
()
Ответ на: комментарий от valich

А я почему-то думал, что ODT внутри и есть XML.


Так и есть. Но при чем тут Java? Что, XML это порождение java? OOo на C++

Karapuz ★★★★★
()
Ответ на: комментарий от Bioreactor

> Правда, и куль-линуксоиды в серьезном бизнесе тоже не нужны.

Того, кто тебе сказал, что у него «серьезный» бизнес, нельзя воспринимать серьезно!
Этак любой может ходить и всем рассказывать, что вот у него-то действительно «серьезный» бизнес. А для правдоподобности еще и два десятка жабакодеров наймет. Ну чтоб совсем серьезно.
В целом, если у бизнеса нет стада жабакодеров, бизнес не может считаться серьезным. А если не дай бох у вас найдут линуксоида, то недолго и потерять доверие таких же серьезных бизнес-партнеров.
Некоторый дефицит на рынке жабакодеров тормозит развитие серьезного бизнеса. Помогайте развивать серьезный бизнес - изучайте жабу.
Этот сайт должен называться ЖОР java.org.ru

valich ★★★
()
Ответ на: комментарий от valich

>Может кто-нибуть окончательно сказать на чем он написан? Или это пока науке неизвестно?

http://download.openoffice.org/common/java.html

«Java is required for complete OpenOffice.org functionality. Java is mainly required for the HSQLDB database engine (used by our database product Base) and to make use of accessibility and assistive technologies. Furthermore some wizards rely on Java technology. If you do not require these features, then you do not need to have Java installed for running OpenOffice.org.»

остальное на плюсах

galaran
()
Ответ на: комментарий от valich

Я перешел по ссылке java.job.ru что я сделал не так?

Karapuz ★★★★★
()
Ответ на: комментарий от Toll

[i]У нас на работе постоянно какие-нибудь грабли с внутренними явовскими тулзами вылазят при обновлении явы[/i] Не надо использовать всякие прикольные, но не поддерживаемые официально вещи из пакетов типа sun.*

Droid790
()
Ответ на: комментарий от hobbit

Вообще, полезный, годный комментарий, жалко автор анонимус.


Vox anonymous - vox populi

Karapuz ★★★★★
()
Ответ на: комментарий от alt0v14

>гг, ананимуса зарегали, во дела :)

Ничто не может сравниться с эффективностью своевременной лести. ;)

anonymous
()
Ответ на: комментарий от Droid790

> Не надо использовать всякие прикольные, но не поддерживаемые официально вещи из пакетов типа sun.*

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

Toll ★★
()
Ответ на: комментарий от anonymous

Вам лучше знать, о мудрый и всезнающий анонимус

vertexua ★★★★★
()
Ответ на: комментарий от Bohtvaroh

>> у меня в хозяйстве есть софтина на джаве, которая отжирает 35Гб только на запуск и стартует 4-5 часов, и это на Azul

Я почему-то уверен, что ботлнек в этой софтине совсем не в яве. %)


разумеется. это монстр, и если бы я только мог его пристрелить... там вебсферовский кластер, и ноды надо перезагружать каждые 10 часов из-за жуткого меморилика. капец, короче. саппорт ibm/sun/azul/vignette тычут пальцем друг в друга по кругу.

val-amart ★★★★★
()

Спасибо за новость, попробую

record ★★★★★
()
Ответ на: комментарий от Toll

Паблик-интерфейсы джавы совместимы по-моему с её первого релиза. Если кто то использует её недокументированные внутренности, он ССЗБ. Если я в С-программе начну библиотеки использовать не через их внешние интерфейсы, а через дебаггер определять всякие оффсеты и вручную писать в память/вызывать внутренние функции, а потом удивляться, почему на новой версии ничего не работает, меня вряд ли кто-нибудь поймёт.

Legioner ★★★★★
()
Ответ на: комментарий от val-amart

> разумеется. это монстр, и если бы я только мог его пристрелить... там вебсферовский кластер, и ноды надо перезагружать каждые 10 часов из-за жуткого меморилика. капец, короче. саппорт ibm/sun/azul/vignette тычут пальцем друг в друга по кругу.

Обратись в саппорт IBM. Мой опыт показывает, что такие вещи у них лечатся в часы. А еще лучше почитай Infocenter. Да, конечно webSphere не супер, скажем по части оптимизации работы с памятью, но у тебя какая-то полная лажа. Мы доводили старт боевого кластера до 4-х минут, на сравнительно маломощной конфигурации. Тут все от рук и головы, впрочем, как всегда.

И работает как правило такое решение, если оно правильно настроено, потом годами. Чаще всего (если это вебсфера портал) нужно делать перестройку индеков на DB2, или что там у тебя юзается, но 35 гигабайт и 5 часов... Э... у меня нет слов.

anonymous
()
Ответ на: комментарий от anonymous

> Походу это твой потолок. массив из 10 элементов.

Походу, это твой потолок. И ни хрена ты, пацан, не знаешь и не понимаешь.

anonymous
()
Ответ на: комментарий от anonymous

=) ты знаешь, что такое Azul? погугли. так вот, ИБМ как только слышит про Азул, сразу посылает нас нах, и правильно делает - у них своя JVM и бимеры не обязаны в ней копаться. Азул клянется-божиться, что проблема в приложении, а не в железе/jvm, и так оно наверное и есть. только не в нашем приложении, а в Vignette (это портальное решение такое). саппорт виньета нам на это говорит - обновитесь уже с вашей древней шестерки, сейчас 11 версия актуальна. но с этим не согласен наш change management, уперлись рогом, что раз работает, то не трожь (а работает уже около 10 лет). наши девелоперы пофиксить проблему в виньете не могут, ибо он проприетарен.
короче, легаси во всей красе. и да, это все что касается меморилика, а долгий запуск и ресурсожручесть, так это издержки приложения. я как-то напрягал по этому поводу девелоперов, все оправдано.

val-amart ★★★★★
()
Ответ на: комментарий от anonymous

> И работает как правило такое решение, если оно правильно настроено, потом годами. Чаще всего (если это вебсфера портал) нужно делать перестройку индеков на DB2, или что там у тебя юзается, но 35 гигабайт и 5 часов... Э... у меня нет слов.

оно и работает годами. регулярная перестройка индексов на Оракловой базе весом более 2Тб? наши ДБА в шоке.

Да, конечно webSphere не супер, скажем по части оптимизации работы с памятью, но у тебя какая-то полная лажа.


проблема не в сфере. плюс это сознательная оптимизация по скорости выполнения за счет памяти.

короче, нет в этом никакой страшной лажи, просто приложение такое.

val-amart ★★★★★
()
Ответ на: комментарий от valich

>Хм. А я почему-то думал, что ODT внутри и есть XML.

нет, на яве написано не чтение xml, а трансформация xml в родные структуры оо. Еапример, чтение докбука.

Ну и доступ к источникам данных через jdbc логично требует жабку.

И за последние полгода чтения ЛОР уже 12 раз поменял мнение: на чем написан OOo, на JAVA или не на JAVA!

на с++

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

Вы изменили взгляды всех присутствующих и задавили своим нулевым авторитетом

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

> Ничего что уже Java 7 на подходе?

Java 7 нет даже в проекте. На подходе JDK 7. это мягко говорят очень разные вещи.

А специфические фичи java 1.6 особо не нужны, в отличии от фич 1.5, потому смысла завязываться на 1.6 просто нет. У нас в конторе все проекты 1.5 или андроидовские, но нет живущих только под 1.6.

VoDA ★★
()
Ответ на: комментарий от vertexua

> Я очень хорошо знаю Java, и это ее единственный костыль, который не связан с кривыми руками школоты. Хотя костыль... Не знаю... Инженеры сознательно жертвуют таким чтобы была совместимость с предыдущими версиями. И она на высоте.

Это - мега костыль. type erasure заставляет делать огромную кучу говно-кода для типизации дженериков. Очень часто этот костыль вижу при использовании спринг в приложениях.

Еще один мега-костыль это отсутствие first class properties. приходится создавать кучу get/set методов для реализации ООП, хотя по сути они не нужны.

Кстати в JDK 7 так и не смогли внести FCP.

VoDA ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.