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

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

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

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

1.1, 1.3, 1.4 уже не поддерживаются.

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

*Полностью* в опен-сорс Java не отдадут ибо политика. Кому интересно почитайте про эпический мега-срач между Sun и Apache.

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

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

Не нужно абсолютно, ибо сильно путает и ухудшает понимание логики кода.

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

но с этим не согласен наш change management, уперлись рогом, что раз работает, то не трожь (а работает уже около 10 лет).


Застой во всей красе, один Брежнев портит жизнь всей стране. При капитализме оказывается такая херня тоже случается

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

> Не нужно абсолютно, ибо сильно путает и ухудшает понимание логики кода.

будь любезен аргументируй.

введение properties позволит без reflection и «странной» логики разбираться какие проперти есть у сущьности.

задача определить название и тип:

public int getX() { }

public void setX(String str) { }

по мне проперти практически единственное чем C# как язык лучше языка Java.

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

Отношусь к отсутвию FCP абсолютно нейтрально. Ни холодно, ни жарко. В любом случае set и get в C# в итоге не более чем методы, записанные по инному. Синтаксический сахар. Поэтому ни они ни джавовский подход по настоящему не отличаются ничем. Кому лень печатать, то в NetBeans можно написать кучу полей, потом контекстное меню, Refactor->Encapsulate Fields... После этого вам сгенерируют хоть 100 getters/setters. Причем сразу с правильной областью видимости и заготовкой JavaDoc комментариев.

Ок, если печатать не лень, лень видеть их?

Пожалуйста

    // <editor-fold defaultstate="collapsed" desc="My sweet getters/setters">
    public float getHeight(int i, int j)
    {
        return heightMapData[i][j];
    }
    // </editor-fold> 

Преобразовывается в закрытый фолд с любым количеством кода. По умолчанию закрыт. Имеет приятный заголовок.

Ужасных костылей, кроме того что я говорил раньше особо не вижу. Есть небольшие неудобства.

1. Есть переменные для настройки JVM. При запуске задаются в формате -Dproperty=value. Еже можна их установить в коде. Но некоторые нельзя, они должны быть становлены ДО запуска программы. Например -Djava.library.path. В итоге моя JOGL программа должна запускаться в Windows из bat, ярлыка или exe-ланучера. В линуксе - это bash или другой скрипт. Имеем зоопарк. Решить проблему универсально для всех ОС затруднительно. Но нет сановских утилит для решения этой проблемы. JNLP, как следует из названия, замешан на сети. Отличным бы был подход в создании метода работающего до main и конфигурирующего главное приложение и JVM. Сам он мог бы работать в облегченной версии JVM и просто напросто заполнять переменные в зависимости от системы и конфигов самого приложения. Несмотря на нативный JOGL, само приложение было бы только на Java. В этом коде можна было бы даже динамически выбирать тип VM и другие ее опции.

2. Нету networkless версии JavaFX runtime only насколько мне известно. Большинству пользователей нужен маленький плагин, как у flash. У нас в универе заблокирован инет и JavaFX приложение в качестве лабы не покатит, так как JRE не достучится до сервера))) Простой банальный житейский пример. Если ситуация поменялась, то сцылко в студию, пожалуйста.

3. Из за вышеописаного type erasure любой программист, который не хочет тормозов будет вынужден писать классы MyIntContainer, MyFloatContainer, MyObjectContainer<T> и тд. Однозначно надо форк с новыми инструкциями jvm или что-то подобное. А для старых JVM мегопатч )))

4. Есть иногда не большое неудобство когда просится reference variable для примитивного типа. Например машина состояний по строке. Вызываются по очереди методы, кушают лексеммы и продвигают сами позицию вперед. В итоге голый int заворачиваем в класс Position и передаем как параметр. А меняем опять же методами. Boilerplate ни лицо.

5. Как вырубить строгую тригонометрию по стандарту в каком то там JSR??? Она нужна для науки и то не всегда. Но зачем она в анимации??? Я лично не нуждаюсь в программной коррекции инструкций fsin и fcos на моем интеле для того, чтобы они были как в sparc, когда я рисую цветочки на экране. Посчитайте cos(10000000000) на С++ и на Java. Поймете в чем дело.

6. К несчастью путь по достижению доступности Java EE рядовым, не обременнеными спобностями к IT людьми, которые сейчас часто пишут сайты слишком медленный. Пока что интеллектуально охватить могут не всё и осиливают, что могут осилить, пишут на всяких примитивных калашниковых типа PHP. Зато путь по «облегчению» намечен, аннотации, Facelets, EJBLite и даже сам Glassfish v3 в Java EE 6 делают жизнь проще не шевеля сильно извилинами. В старых версиях J2EE надо было не шевелить, а трещать извилинами. Впервые за всю историю J2EE можно человека «надрессировать» писать сайт. Facelets -> backing beans - database access through JPA in EJBLite. Ждем дешевые хостинги. Пока жду, пишу в помощь семье на PHP ))))) Писание на PHP хорошо проверяет память, внимание и трудолюб ие.

Вот конкретный список проблем. С возможными хоть чуть-чуть продуманными решениями. А просто кричать «Java/JVM говно» при этом ни когда не слышав даже о -server/-client - это ребячество.

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

будь любезен аргументируй.

Для меня (и как показала практика не только для меня) запись вида

o.height = 100;

ассоциируется с присваиванием переменной height определенного значения.

o.setHeight(100);

а здесь вызывается сеттер - можно ожидать чего угодно внутри. Так вот сталкивался несколько раз с проектами на шарпе, где в простых на первый взгляд пропертях было зарыто много кода. Что касается рефлекшена - все решается предельно просто через бины:

        try {
            BeanInfo beanInfo = Introspector.getBeanInfo(SomeClass.class);
            PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();

            for (PropertyDescriptor pd : pds) {
                String propertyName = pd.getName();
                String propertyType = pd.getPropertyType().getName();

                System.out.println("name = " + propertyName + "; type = " + propertyType);
            }
        } catch (IntrospectionException e) {
            e.printStackTrace();
        }

по моему код очень прозрачный

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

>ассоциируется с присваиванием переменной height определенного значения.

сие не твое собачье дело, сеттер это или всего лишь присвоение переменной.

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

> сие не твое собачье дело, сеттер это или всего лишь присвоение переменной.

Увидел 5 звезд и ужаснулся. «А вдруг этот человек еще и модератор?» Проверил дважды, нет ЛОР еще пока держится.

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

>сие не твое собачье дело, сеттер это или всего лишь присвоение переменной

теоретически может оно и так, однако ж в реальном мире мы живем, а не в сказочном

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

Нету networkless версии JavaFX runtime only насколько мне известно. Большинству пользователей нужен маленький плагин, как у flash. У нас в универе заблокирован инет и JavaFX приложение в качестве лабы не покатит, так как JRE не достучится до сервера))) Простой банальный житейский пример. Если ситуация поменялась, то сцылко в студию, пожалуйста.


Спрашивали, отвечаем. http://www.javatalks.ru/sutra60335.php#60335 Можно выковырять javafx и приложить к своей софтине

К несчастью путь по достижению доступности Java EE рядовым, не обременнеными спобностями к IT людьми, которые сейчас часто пишут сайты слишком медленный. Пока что интеллектуально охватить могут не всё и осиливают, что могут осилить, пишут на всяких примитивных калашниковых типа PHP.


К несчастью путь по достижению доступности излечения мозговых опухолей слишком медленный. Не каждый даже врач способен сделать операцию на мозге, тем более человек с улицы. Пока что интеллектуально люди осиливают прием купленных в аптеках антигриппина, аскорбинок и тамифлю

Сравнил тоже мне php и java ee. Для создания сайта в Windows вообще есть опция «расшарить папку и сделать ее как сайт» И работает, и без всякого проганья

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