PDA

View Full Version : سوال استفاده از جستجو در دیتابیس( sqlite )



sajadpm
پنج شنبه 19 بهمن 1391, 11:43 صبح
با سلام و خسته نباشید خدمت دوستان

من در برنامه ام از دیتابیس پیش ساخته استفاده می کنم ! و داخل اون از متن های بلند استفاده کرده ام حالا می خواهم در برنامه جستجو بذارم و با استفاده اون در اون جدولی که متن ها وجود داره جستجو کنه و کلمه اگر در اون مقدار وجود داشت نمایش بده مثل همین جستجو های موجود در کتاب های فارسی آندروید . با جستجو های زیادی که من داشتم باید فکر کنم از MATCH استفاده کنم که یک cursor بگیرم ! ممنون می شوم راهنمایی کنید در این زمینه .

farhadfery
پنج شنبه 19 بهمن 1391, 14:21 عصر
اینجا را خبر ندارم ببینید داره یا نه. اینطور موارد full text search

sajadpm
پنج شنبه 19 بهمن 1391, 14:30 عصر
ببخشید دقیقا کجا ؟ میشه آدرس بدید ؟ , بله من گوگل رو گشتم ولی یا مسدود بود وبسایت ها یا هم چیزی نفهمیدم از توضیحشون

farhadfery
پنج شنبه 19 بهمن 1391, 14:33 عصر
منظ.رم sqlite هست که این قالبیت را داره یا نه
MySQL Full-Text Search Feature

Nevercom
پنج شنبه 19 بهمن 1391, 18:44 عصر
با استفاده از متد query جستجو رو انجام بدید، شرایط جستجو در در آرگومان selection قرار بدید.
در کد زیر از عبارت WHERE به بعد شرط جستجو هست

SELECT my_filed FROM my_table WHERE target_filed LIKE %search%;

sajadpm
یک شنبه 22 بهمن 1391, 20:24 عصر
با استفاده از متد query جستجو رو انجام بدید، شرایط جستجو در در آرگومان selection قرار بدید.
در کد زیر از عبارت WHERE به بعد شرط جستجو هست

SELECT my_filed FROM my_table WHERE target_filed LIKE %search%;
تشکر از پاسخ شما .
بله خوب من از این دستور برای انتخاب یک فیلد می توانم استفاده کنم مثلا اگر من 14 مقاله داشتم و کلمه ای که جستجو میشه در 12 مقاله موجود باشه حالا می خوام تمام 12 مقاله رو داخل listview بیارم که با انتخاب هر کدوم مقاله مورد نظر باز بشه . منتظر پاسخ شما هستم .

Nevercom
یک شنبه 22 بهمن 1391, 23:38 عصر
این متد یک Cursor بر می گردونه که حاوی تمام نتایج یافت شده در دیتابیس هست.
شما باید در این Cursor پیمایش کنید و نتایج رو نمایش بدید.

مثال:
public List<Article> getArticles() {
List<Article> articles = new ArrayList<Article>();

Cursor cursor = database.query("articles", new String[] { "title", "_id" }, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {

String title = cursor.getString(0);
Integer id = cursor.getInt(1);

Article article = new Article();
article.setTitle(title);
article.setId(id);

articles.add(article);

cursor.moveToNext();
}
// Make sure to close the cursor
cursor.close();

return articles;
}

private static class Article {
private String title;
private int id;

public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}

}
الان این متد یک List بر میگردونه که اونو می تونید به ListView نسبت بدید تا نمایشش بده

hamid_hr
دوشنبه 23 بهمن 1391, 09:50 صبح
http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex
http://www.sqlite.org/cvstrac/wiki?p=FtsUsage
http://www.sqlite.org/cvstrac/wiki?p=FtsOne
http://www.sqlite.org/cvstrac/wiki?p=FtsTwo
http://www.sqlite.org/cvstrac/wiki?p=CompilingFts
http://www.sqlite.org/cvstrac/wiki?p=CompilingFtsThree

اينا همه درباره full text search در sqlite نوشتن
و با مثالي كه دوستمونNevercom گذاشتن ميتونين استفاده كنين

Hossis
شنبه 16 بهمن 1395, 18:34 عصر
http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex
http://www.sqlite.org/cvstrac/wiki?p=FtsUsage
http://www.sqlite.org/cvstrac/wiki?p=FtsOne
http://www.sqlite.org/cvstrac/wiki?p=FtsTwo
http://www.sqlite.org/cvstrac/wiki?p=CompilingFts
http://www.sqlite.org/cvstrac/wiki?p=CompilingFtsThree

اينا همه درباره full text search در sqlite نوشتن
و با مثالي كه دوستمونNevercom گذاشتن ميتونين استفاده كنين
این مقالات همه اش انگلیسی هستند
مقاله فارسی نیست؟