منبع اصلی نوشتار زیر در این لینک قرار دارد

مروری بر امکانات معرفی شده بر روی Red Hat Enterprise Linux 7

بالاخره طبق قول قبلی شرکت Red Hat مبنی بر انتشار اولیه RHEL 7 – Red Hat Enterprise Linux 7 در شش ماهه دوم سال ۲۰۱۳ ، سیستم عامل اینترپرایز این شرکت نسخه بتا ۱ آن منتشر شد. قبلا در این پست بر روی امکانات معرفی شده RHEL 7 در کنفرانس سالانه Red Hat Summit مروری […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

فیلمبرداری از صفحه نمایش اندروید در لینوکس

دستگاه‌های مجهز به سیستم‌عامل اندروید هر روز بیشتر می‌شوند؛ سیستم‌عاملی متن باز با هسته لینوکس. شاید شما نیاز داشته باشید که از صفحه دستگاه (موبایل، تبلت و …) اندرویدی خود فیلم‌برداری کنید و مثلا قصد تهیه آموزشی ویدویی داشته باشید اما روشی برای این کار پیدا نکرده باشید. در این پست قصد دارم برنامه‌ای معرفی کنم که امکان فیلمبرداری از

The post فیلمبرداری از صفحه نمایش اندروید در لینوکس appeared first on لینوکسی‌ها.

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

شروع برنامه‌نویسی به زبان جاوا

هفت سال قبل اولین مطلبم در مورد جاوا را با عنوان «تاریخچه زبان جاوا» نوشتم. مطلبی که در ادامه مشاهده می‌فرمایید، ادامه آن مقاله و راهنمایی برای شروع برنامه‌نویسی به زبان جاوا است.

معرفی JDK

JDK که مخفف کلمه Java Development Kit می‌باشد، مجموعه‌ای از کلاس‌ها و ابزارهاست که با استفاده از آن می‌توان یک برنامه جاوا را کامپایل و اجرا کرد. JDK از اجزای زیر تشکیل شده است:
  1. مجموعه‌ای از کلاس‌ها (که در واقع کتابخانه یا Library جاوا محسوب می‌شوند.)
  2. کامپایلر
  3. دیباگر یا اشکال‌زدا (Debugger)
  4. محیط اجرایی جاوا JRE
JDK همچنین حاوی ابزارهایی است که با استفاده از هریک از آن‌ها می‌توانید عملیات مختلفی که در زبان جاوا وجود دارند را انجام دهید. برخی از این ابزارها (دستورات) عبارتند از:
  • javac: ابزاری برای کامپایل کردن کدهای جاواست. این ابزار از روی فایل‌های *.java فایل‌های *.class می‌سازد.
  • java: این ابزار، برنامه‌ای را که کامپایل شده است را اجرا می‌کند.
  • jar: از روی مجموعه‌ای از فایل‌ها، یک فایل jar می‌سازد. فایل‌های jar، فایل‌های بسته‌بندی شبیه zip هستند که در جاوا استفاده می‌شوند. این فایل‌ها پسوند *.jar دارند.
  • javadoc: از این ابزار برای تولید مستندات کلاس‌های جاوا استفاده می‌شود.
  • jdb: ابزاری برای اشکال‌زدایی (debug) برنامه‌هاست.
  • appletviewer: ابزاری برای تست و مشاهده اپلتهاست. زمانیکه در حال نوشتن یک اپلت هستید، با استفاده از این ابزار می‌توانید آن را اجرا نموده و عملکرد صحیح آن را بررسی کنید.

نصب JDK

ابتدا نسخه متناظر با سیستم عامل خود را از صفحه Java SE Development Kit 7 Downloads دریافت نمایید. در مراحل نصبی که در ادامه مشاهده می‌فرمایید، <version> زیر نسخه مرتبط با بروزرسانی JDK است. همچنین در تمامی مراحل از نسخه 64bit جاوا استفاده شده است.

نصب JDK در گنو/لینوکس

بسته deb برای اوبونتو و توزیع‌های مشابه
دستورات زیر را برای اضافه کردن مخزن ppa و نصب جاوا به ترتیب در خط فرمان وارد نمایید:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default
sudo update-java-alternatives -s java-7-oracle
در صورتیکه هنگام دانلود جاوا با خطای Forbidden 403 مواجه شدید، دستور نصب چندین بار تکرار نمایید تا نهایتا به یک mirror باز دست یابید. برای مطمئن شدن از نصب کامل جاوا دستور زیر را وارد نمایید:
java -version
خروجی دستور بالا باید مشابه زیر باشد:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
بسته rpm برای RHEL، CentOS 6/5 و Fedora 18-12
بعد از دریافت فایل rpm از سایت اوراکل دستور زیر را در خط فرمان وارد نمایید:
rpm -Uvh jdk-7u45-linux-x64.rpm
برای مطمئن شدن از نصب کامل جاوا دستور زیر را وارد نمایید:
java -version
خروجی دستور بالا باید مشابه زیر باشد:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
سایر توزیع‌هایگنو/لینوکس
وارد خط فرمان (ترمینال) شده و با دستور cd به پوشه‌ای که قصد نصب جاوا در آن را دارید بروید. با دستور mv فایل jdk-7u<version>-linux-x64.tar.gz را به این پوشه منتقل نمایید. در نهایت با دستور tar فایل را از حالت فشرده خارج نمایید:
tar zxvf jdk-7u-linux-x64.tar.gz

نصب JDK در ویندوز

برای نصب حداقلی JDK کافیست فایل jdk-7<version>-windows-x64.exe را اجرا کرده و مراحل نصب را طی نمایید.

نصب JDK در مک

برای نصب JDK در مک بر روی فایل jdk-7u<version>-macosx-x64.dmg دوبار کلیک نموده و در پنجره جدید بر روی فایلی که پسوند pkg دارد دوبار کلیک نمایید تا برنامه install اجرا شود. مراحل نصب را تا انتها ادامه دهید تا جاوا به طور کامل رو روی سیستم عامل شما نصب شود.

عناصر پایه زبان جاوا

قبل از شروع به کدنویسی به هر زبانی،‌ ابتدا باید عناصر پایه‌ای آن زبان مانند کلمات کلیدی، انواع داده و … را فرا گرفت. در ادامه عناصر پایه‌ای زبان جاوا و نحوه پیاده‌سازی و استفاده برخی از آن‌ها را نوشته‌ام.

کلمات کلیدی (Keywords)

کلمات کلیدی به کلماتی گفته ‌می‌شود که برای کامپایلر و زبان برنامه‌نویسی با معنا بوده و نحوه تغسیر یک کد را مشخص می‌کنند. در زبان جاوا این کلمات تماما به حروف کوچک بوده و امکان استفاده از آن‌ها به عنوان نام متغیر، نام کلاس، نام تابع و متد وجود ندارد. زبان جاوا پنجاه کلمه کلیدی دارد که عبارتند از:
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

توضیحات کد (Comments)

منظور از توضیحات، عباراتی هستند که کامپایلر آن‌ها را هنگام کامپایل نادیده می‌گیرد. دلایل نوشتن توضیحات در کد عبارتند از:
  • خواناتر کردن کد برنامه
  • مشخص کردن مواردی که نیاز به رسیدگی دارند (TODO)
  • مشخص کردن کلی اطلاعات نگارش کد مانند نسخه، برنامه‌نویس، زمان نگارش، تاریخ بروزرسانی، محیط برنامه‌نویسی مورد استفاده و…
  • تعریف نحوه استفاده از یک تابع (Method)، پارامتر‌ها و خروجی آن
  • استفاده از ابزارهایی مانند javadoc برای ساخت خودکار مستندات از توضیحات موجود در کدها
برای نوشتن توضیحات (Comment) در زبان جاوا، با توجه به توضیح مورد نظر می‌توان آن را به یکی از سه نوع خطی، چند خطی (بلوکی) و مستنداتی (Documentation) نوشت. مانند:
خطی
// This is an end-of-line comment
چند خطی
/* This is a multi-line comment.
It may occupy more than one line. */
با هدف تولید مستندات (Documentation)
/**
* This is a documentation comment.
*
* @author Saeid Zebardast
* @see Docs
* @since 1.0
*/

انواع داده (Data Types)

در زبان جاوا ۸ نوع داده اولیه (Primitive Data Type) تعریف شده است. توضیحات ۸ نوع داده اولیه جاوا در جدول زیر آماده است:
نوع حاوی پیش‌فرض اندازه محدوده قابل استفاده و نمایش
boolean true یا false false 1bit NA
char کاراتر یونیکد \u0000 16bits \u0000 to \uFFFF
byte داده عددی صحیح 0 8bits -128 .. 127
short داده عددی صحیح 0 16bits -32,768 .. 32,767
int داده عددی صحیح 0 32bits -2,147,483,648 .. 2,147,483,647
long داده عددی صحیح 0 64bits -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807
float
داده عددی اعشاری
0.0 32bits 3.40282347 x 1038, 1.40239846 x 10-45
double
داده عددی اعشاری
0.0 64bits 1.7976931348623157 x 10308, 4.9406564584124654 x 10-324
برای تعریف متغیر می‌توان از این نوع داده‌ها یا نوع داده‌های پیچیده‌تر استفاده کرد. نوع داده‌ها پیچیده‌تر با استفاده از داده‌های اولیه تعریف می‌شوند. به عنوان مثال نوع داده رشته (String) از یک یا ترکیب چند کاراکتر تولید می‌شود. هر کاراکتر در زبان جاوا داخل یک quote قرار می‌گیرد در حالیکه یک رشته داخل double quote قرار می‌گیرد:
char myChar = 'a';
String s = "Hello guys";

عملگرها (Operators)

عملگرها در زبان جاوا مشابه زبان سی پلاس پلاس می‌باشند. در جدول زیر فهرست عملگرهای زبان جاوا را مشاهده می‌نمایید:
اولویت عملگر توضیحات
1 () فراخوانی متد
[] دسترسی به آرایه
. انتخاب یک عضو کلاس
2 ++ -- افزایش و کاهش پسوندی
3 ++ -- افزایش و کاهش پیشوندی
+ - علامت منفی و مثبت اعداد
! ~ NOT منطقی و NOT بیتی
(type) val تبدیل نوع val به type
new ایجاد یک instance از کلاس یا ساخت آرایه
4 * / % ضرب، تفریق و باقیمانده تقسیم
5 + - جمع و تفریق
+ پیوست دادن رشته‌ها به یکدیگر (String concatenation)
6 << >> >>> Bitwise left shift, signed right shift and unsigned right shift
7 < <= رابطه کوچکتر و کوجکترمساوی
> >= رابطه بزرگتر و بزرگترمساوی
instanceof مقایسه نوع یک آبجکت
8 == != رابطه برابری و نابرابری
9 & AND بیتی و منطقی
10 ^ XOR بیتی و منطقی
11 | OR بیتی و منطقی
12 && شرط AND منطقی
13 || شرط OR منطقی
14 c ? t : f شرط (if) یک خطی
15 = انتساب یک مقدار
+= -= انتساب افزایش و کاهشی
*= /= %= انتساب با عملگر ضرب، تقسیم و باقیمانده تقسیم
<<= >>= >>>= انتساب با bitwise left shift, signed right shift and unsigned right shift
&= ^= |= انتساب با AND, XOR و OR بیتی

گرامر و نحو کدنویسی (Syntax)

به منظور فراگیری اولیه گرامر و نحو کدنویسی در زبان جاوا قطعه کد زیر، معروف به Hello World را در نظر بگیرید:
/****************************************
* Compilation: javac HelloWorld.java
* Execution: java HelloWorld
*
* @author Saeid Zebardast
* Prints "Hello, World". By tradition, this is
* everyone's first program.
*
* % java HelloWorld
* Hello, World
*
****************************************/

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
  • خط 1 تا 12: توضیحات برنامه هستند که شامل نحوه کامپایل، اجرا و خروجی تولید شده آن می‌باشند.
  • خط 14: تعریف کلاس و نام آن. این کلاس به صورت public تعریف شده. دقت کنید که هر فایل .java فقط میتواند یک کلاس public داشته باشد و نام این کلاس باید با نام فایل برابر باشد.
  • خط 16: تعریف متد main برای اجرا. با توجه به ضرورت متد main باید به صورت public و static و بدون خروجی (void) تعریف شود. دقت کنید که زبان جاوا به کوچک و بزرگ بودن حروف حساس است (case-sensitive).
  • خط 17: چاپ عبارت Hello, World در خروجی (کنسول)

محیط‌های برنامه‌نویسی برای جاوا

شما می‌توانید از هر ویرایش متنی مانند Notepad، Notepad++، Sumblime و Vi برای نوشتن و ویرایش کد‌های جاوا استفاده نمایید. با این حال محیط‌های یکپارچه توسعه نرم‌افزار (IDE) مانند IntelliJ IDEA، NetBeans و Eclipe نیز استفاده نمایید. من IntelliJ IDEA را نسبت به سایر نرم‌افزار‌ها ترجیح می‌دهم.

چند نکته

  • این راهنما براساس نسخه ۷ جاوا نوشته شده است.
  • این مطلب فقط شروعی برای برنامه‌نویسی جاوا بوده و دربرگیرنده موارد ابتدایی در این زمینه است.
  • من متوجه تحریم بودن ایران از سوی شرکت اوراکل هستم ولی از طرفی بر این باورم که مطمئنا شما راهی برای دور زدن این تحریم خواهید یافت.


ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

شروع برنامه‌نویسی به زبان جاوا

هفت سال قبل اولین مطلبم در مورد جاوا را با عنوان «تاریخچه زبان جاوا» نوشتم. مطلبی که در ادامه مشاهده می‌فرمایید، ادامه آن مقاله و راهنمایی برای شروع برنامه‌نویسی به زبان جاوا است. معرفی JDK JDK که مخفف کلمه Java Development Kit می‌باشد، مجموعه‌ای از کلاس‌ها و ابزارهاست که با استفاده از آن می‌توان یک […]

مطالب مرتبط:

  1. تاریخچه زبان جاوا
  2. برنامه نویسی
  3. مسافرت بم و سفره برنامه نویسی من
  4. معاهده‌های کدنویسی (Coding conventions)
  5. مقدمه ای برای جاوا اسکریپت

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

روزی که رییس جمهور جاوا رو خاموش کرد: آندو جاوا ۲۰۱۳

جاوا مشکلات امنیتی زیادی داره، یک کارشناس می گه «کمپایل کردن به بایت کد که همه بتونن یک چیز واحد رو اجرا کنن بی شباهت به کمونیسم نیست» و رییس جمهور باید تصمبم بگیره که چه زمانی دگمه حذف جاوا از جامعه رو فشار بده. خانم استرینگزتین – متخصص جاوا – اعلام خطرکرده که اگر […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش نصب ۷ OpenJDK Java و فعال کردن پلاگین جاوا برای مرورگر ( Chrome , FireFox)

  نصب برنامه ی OpenJDK Java   بسیار ساده است  ولی فعال سازی اون بر روی انواع مرورگرها نیاز به چند دستور داره که در ادامه به اونها می پردازیم : نصب  OpenJDK Java : برای نصب OpenJDK Java   کافی است ubuntu software center را اجرا کنید و برنامه ی OpenJDK Java را نصب کنید.از اونجا که

نوشته آموزش نصب ۷ OpenJDK Java و فعال کردن پلاگین جاوا برای مرورگر ( Chrome , FireFox) اولین بار در لینوکس سیزن , آموزش گنو / لینوکس پدیدار شد.

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

حفره امنیتی بزرگ در جاوا ۷

با انتشار خبروجود حفره امنیتی بزرگ در پلتفرم جاوا توسط  تیم امادگی اضطراری کامپیوترآمریکا و اداره فدرال امنیت اطلاعات آلمان به همه کاربران که جاوا نسخه  ۷ و بروزرسانی های این نسخه را نصب کرده اند توصیه می گردد آن را حذف یا اپلت جاوا را در مرورگرهای خود غیر فعال کنند. این حفره امنیتی

The post حفره امنیتی بزرگ در جاوا ۷ appeared first on لینوکس سیزن.

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آیا جاوا اسکریپت و جاوا یکی اند؟

در پاسخ باید بگم: نه! این دو کاملا متفاوتند چه بخواید از لحاظ روش نوشتن کد ها در هر یک آنها رو مقایسه کنید و چه بخواهید از نظر زمینه ای که هریک… ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

معرفی و آموزش پیاده‌سازی Apache Lucene

سلام،

Apache Lucene
Apache Lucene

حدود یک سال و نیم قبل در مطلبی به معرفی خزنده‌های وب (Web crawlers) و آموزش راه اندازی یک خزنده وب ساده به زبان جاوا پرداختم. در طول این مدت افراد بسیاری در مورد خزنده‌های وب با من تماس گرفتند و سوالات مختلفی در مورد این خزنده‌ها داشتند. در این مطلب به معرفی و آموزش Apache Lucene که به منظور جستجو فایل‌های متین استفاده می شود، می پردازم. همچنین در آینده به بررسی ۳ محصول Hadoop, Apache Solr و Apache Nutch خواهم پرداخت.

Apache Lucene

آپاچی لوسن کتابخانه ای برای راه اندازی موتورهای جستجوی متن می باشد. این کتابخانه آزاد بوده و تحت لایسنس Apache Licene 2.0 منتشر می شود. این کتابخانه به زبان جاوا (Java) نوشته شده و سپس به زبان های Delphi, Perl, C#, C++, Python, Ruby, و PHP پیاده سازی (پورت) شده است.
این کتابخانه این امکان را برای شما فراهم می آورد تا هر نوع موتور جستجوی متنی مانند موتور جستوی وب، لوکال (محلی) ویا فقط ویژه یک وب سایت را ایجاد نمایید. در نظر داشته باشید که Apache Lucene فقط برای جستجو استفاده می‌شود و برای جمع‌آوری اطلاعات و تحلیل آن‌ها نیاز به ابزارهای دیگری مانند Solr و Nutch دارید.
برای دریافت این کتابخانه به صفحه دانلود آپاچی لوسن مراجعه نمایید. همچنین می توانید نسخه فعلی (۳.۶.۰) را از آدرس زیر دریافت نمایید:
دانلود کتابخانه آپاچی لوسن نسخه ۳.۶.۰

استفاده از کتابخانه Apache Lucene

در ادامه مراحل مختلف برای آماده‌سازی و انجام جستجو را بررسی کرده و در انتها سورس کامل این کلاس را مشاهده خواهید کرد.

مرحله اول: ایندکس کردن اطلاعات

قبل از هر چیز شما باید اطلاعاتی را که قصد جستجو در آن‌ها را دارید ایندکس نمایید. ایندکس کردن اطلاعات فواید زیادی دارد که یکی از مهم‌ترین آن‌ها مرتب‌سازی و افزایش سرعت جستجو است.
ایندکس اطلاعات در لوسن توسط دو کلاس Document و Field صورت می پذیرد. Document سند شما و Field اطلاعات مرتبط با سند مانند عنوان، محتوا و… است. این وظیفه شماست که اطلاعات خود از جمله رشته‌ها، انواع فایل‌ها، اطلاعات ذخیره شده در پایگاه داده و… را به کلاس Document تبدیل و ایندکس نمایید. در زیر تعامل Index, Document و Field را مشاهده می کنید:

 Index 

Document 1

Field A (name/value)

Field B (name/value)

Document 2

Field A (name/value)

Field B (name/value)

بعد از آماده سازی Document باید توسط کلاس IndexWriter، ایندکس را ذخیره می کنیم. پارامتر اول در فراخوانی IndexWriter دایکتوری ذخیره‌سازی ایندکس را مشاهده می‌کند.
با کدهای زیر چند عبارت را در حافظه دسترسی تصادفی (RAM) ذخیره کردیم:

Directory index = new RAMDirectory();
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, analyzer);

IndexWriter w = new IndexWriter(index, config);
addDoc(w, "Lucene in Action");
addDoc(w, "Lucene for Dummies");
addDoc(w, "Managing Gigabytes");
addDoc(w, "The Art of Computer Science");
w.close();

متد addDoc رشته‌ها را به ایندکس اضافه می کند:

private static void addDoc(IndexWriter w, String value) throws IOException {
Document doc = new Document();
doc.add(new Field("title", value, Field.Store.YES, Field.Index.ANALYZED));
w.addDocument(doc);
}
}

مرحله دوم: ایجاد کوئری (Query)

در این برنامه ما عبارت مورد نظر برای جستجو را از ورودی (stdin) دریافت می‌کنیم:

String querystr = args.length > 0 ? args[0] : "lucene";
Query q = new QueryParser(Version.LUCENE_36, "title", analyzer).parse(querystr);

مرحله سوم: انجام جستجو

در این مرحله کوئری (جستار؟) ساخته شده را بر روی ایندکس جستجو می کنیم. همچنین از کلاس TopScoreDocCollector برای بدست آوردن ۱۰ نتیجه مرتبط‌تر استفاده کرده ایم:

int hitsPerPage = 10;
IndexReader reader = IndexReader.open(index);
IndexSearcher searcher = new IndexSearcher(reader);
TopScoreDocCollector collector = TopScoreDocCollector.create(hitsPerPage, true);
searcher.search(q, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;

مرحله چهارم: مشاهده نتایج

در انتها نتایج بدست آمده را نمایش می‌دهیم:

System.out.println("Found " + hits.length + " hits.");
for(int i=0;i < hits.length;++i) {
int docId = hits[i].doc;
Document d = searcher.doc(docId);
System.out.println((i + 1) + ". " + d.get("title"));
}

همین!

کلاس HelloLucene

در زیر کلاس HelloLucene را یکجا مشاهده می فرمایید:

import java.io.IOException;

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.*;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;

public class HelloLucene {
public static void main(String[] args) throws IOException, ParseException {
// 0. Specify the analyzer for tokenizing text.
// The same analyzer should be used for indexing and searching
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);

// 1. create the index
Directory index = new RAMDirectory();

IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, analyzer);

IndexWriter w = new IndexWriter(index, config);
addDoc(w, "Lucene in Action");
addDoc(w, "Lucene for Dummies");
addDoc(w, "Managing Gigabytes");
addDoc(w, "The Art of Computer Science");
w.close();

// 2. query
String queryStr = args.length > 0 ? args[0] : "lucene";

// the "title" arg specifies the default field to use
// when no field is explicitly specified in the query.
Query q = new QueryParser(Version.LUCENE_35, "title", analyzer).parse(queryStr);

// 3. search
int hitsPerPage = 10;
IndexReader reader = IndexReader.open(index);
IndexSearcher searcher = new IndexSearcher(reader);
TopScoreDocCollector collector = TopScoreDocCollector.create(hitsPerPage, true);
searcher.search(q, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;

// 4. display results
System.out.println("Found " + hits.length + " hits.");
for (int i = 0; i < hits.length; ++i) {
int docId = hits[i].doc;
Document d = searcher.doc(docId);
System.out.println((i + 1) + ". " + d.get("title"));
}

// searcher can only be closed when there

// is no need to access the documents any more.

searcher.close();
}

private static void addDoc(IndexWriter w, String value) throws IOException {
Document doc = new Document();
doc.add(new Field("title", value, Field.Store.YES, Field.Index.ANALYZED));
w.addDocument(doc);
}
}

منابع

شاد و پیروز باشید :)


ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

معرفی و آموزش پیاده‌سازی Apache Lucene

سلام، حدود یک سال و نیم قبل در مطلبی به معرفی خزنده‌های وب (Web crawlers) و آموزش راه اندازی یک خزنده وب ساده به زبان جاوا پرداختم. در طول این مدت افراد بسیاری در مورد خزنده‌های وب با من تماس گرفتند و سوالات مختلفی در مورد این خزنده‌ها داشتند. در این مطلب به معرفی و […]

مطالب مرتبط:

  1. خزنده وب (Web Crawler)
  2. معرفی نقشه ذهنی و آموزش نرم افزار FreeMind
  3. راهنمای سریع Apache Virtual Host
  4. پیاده روی ، ارزانترین ورزش
  5. معرفی نرم افزار WAMP

ادامه مطلب