Showing posts with label Find. Show all posts
Showing posts with label Find. Show all posts

Saturday, February 26, 2011

Perintah Dasar Google


Sebenarnya masih sangat banyak fitur pencarian yang bisa kita gunakan, tapi tidak terdapat di menu pilihan Advanced Search. Dengan kata lain kita harus memasukannya query di form pencarian di Basic Search langsung. Nah permainanquery dan operator pencarian ini yang sebenarnya akan kita bahas di artikel ini.
FITUR PENCARIAN DASAR
  1. AND: Mencari informasi yang mengandung kedua kata yang dicari. Bisa menggunakan salah satu dari tiga alternatif berikut:
    ukiran jepara
    ukiran AND jepara
    ukiran+jepara
  2. OR: Mencari informasi yang mengandung salah satu dari kedua kata. Bisa menggunakan salah satu dari dua alternatif berikut:
    tahu OR tempe
    tahu | tempe
  3. FRASE: Mencari informasi yang mengandung frase yang dicari dengan menggunakan tanda “”. Contoh:
    “perangkat lunak”
  4. NOT: Hasil pencarian mengandung kata yang di depan, tapi tidak yang dibelakang minus (-). Contoh di bawah akan mencari informasi yang mengandung kata ikan tapi bukan bandeng.
    ikan -bandeng
  5. SINONIM (~): Mencari kata beserta sinonim-sinonimnya. Contoh di bawah akan membawa hasil pencarian: kendaraan (car) dan sinonim-sinonimnya.
    ~car
  6. ASTERIK (*): Karakter pengganti kata. Dari contoh di bawah, hasil yang didapat bisa: ayam bakar pedas, ayam goreng pedas, ayam masak pedas, dsb
    ayam * pedas
  7. TANDA TITIK (.): Karakter pengganti huruf, angka dan karakter tunggal. Dari contoh di bawah, hasil yang didapat bisa: kopi, koki, kodi, dsb
    ko.i
  8. CASE INSENSITIVE: Pencarian di Google menganggap kapital dan bukan kapital sebagai sesuatu yang sama. Jadi, romi satria wahonoRomi Satria Wahono, atau RoMi SaTrIA waHoNo akan membawa hasil pencarian yang sama
  9. PENGABAIAN KATA: Google mengabaikan keyword berupa karakter tunggal dan kata-kata berikut: a, about, an, and, are, as, at, b, by, from, how, i , in, is, it, of, on, or, that, the, this, to, we, what, when, where, which, with. Apabila kita masih tetap menginginkan pencarian kata tersebut, bisa dengan menggunakan karakter + di depan kata yang dicari (contoh: Star Wars Episode +I), atau bisa juga dengan menganggapnya sebagai frase (contoh: “Star Wars Episode I”)
  10. I’M FEELING LUCKY: Akan membawa kita langsung menuju ke hasil pencarian pertama dari query kita
FITUR PENCARIAN LANJUT

  1. DEFINE: Mencari definisi dari sebuah terminologi. Dari contoh di bawah, hasil yang didapat adalah berbagai definisi tentang e-learning dari berbagai sumber
    define:e-learning
  2. CACHE: Menampilkan situs web yang telah diindeks oleh Google meskipun sudah tidak aktif lagi. Contoh di bawah akan menghasilkan pencarian kata phppada situs ilmukomputer.com yang ada di indeks Google.
    cache:ilmukomputer.com php
  3. LINK: Menampilkan daftar link yang mengarah ke sebuah situs. Contoh di bawah akan menampilkan daftar link yang mengarah ke situs ilmukomputer.com
    link:ilmukomputer.com
  4. RELATED: Menampilkan daftar situs yang serupa, mirip atau memiliki hubungan dengan suatu situs
    related:romisatriawahono.net
  5. INFO: Menampilkan informasi yang Google ketahui tentang sebuah situs
    info:romisatriawahono.net
  6. SITE: Menampilkan pencarian khusus di suatu situs yang ditunjuk
    java site:ilmukomputer.com
  7. FILETYPE: Menampilkan hasil pencarian berupa suatu jenis (ekstensi) file tertentu. Jenis file yang bisa dicari adalah: doc, xls, rtf, swf, ps, lwp, wri, ppt, pdf, mdb, txt, dsb. Contoh di bawah akan menampilkan hasil pencarian berupafile PDF yang mengandung keyword software engineering
    software engineering filetype:pdf
  8. ALLINTITLE: Menampilkan seluruh kata yang dicari dalam TITLE halaman. Contoh di bawah akan menghasilkan halaman yang memiliki title java programming. allintitle ini tidak dapat digabungkan dengan operator (sintaks) lain. Gunakan intitle untuk keperluan itu.
    allintitle:java programming
  9. INTITLE: Menampilkan satu kata yang dicari dalam TITLE halaman. Contoh di bawah akan menghasilkan halaman yang memiliki title java dan isi halaman yang mengandung kata enterprise
    intitle:java enterprise
  10. ALLINURL: Menampilkan seluruh kata yang dicari di dalam URL. Contoh di bawah akan menghasilkan daftar URL yang mengandung kata java danprogramming. allinurl ini tidak dapat digabungkan dengan operator (sintaks) lain. Gunakan inurl untuk keperluan itu.
    allinurl:java programming
  11. INURL:  Menampilkan satu kata yang dicari di dalam URL. Contoh di bawah akan menghasilkan daftar URL yang mengandung kata java dan isi halaman yang mengandung kata enterprise
    inurl:java enterprise
Pencarian yang kita lakukan akan semakin efektif apabila kita mencoba menggabungkan beberapa operator baik yang ada di fitur pencarian dasar maupun lanjut. Misalnya, kita ingin mencari file-file PDF yang ada di situs www.pdii.lipi.go.id. Maka kita gabungkan dua operator menjadi:
filetype:pdf site:www.pdii.lipi.go.id

Wednesday, January 26, 2011

Mencari Kata Tertentu di Semua Table SQL

How to search all columns of all tables in a database for a keyword?
While browsing the SQL Server newsgroups, every once in a while, I see a request for a script that can search all the columns of all the tables in a given database for a specific keyword. I never took such posts seriously. But then recently, one of my network administrators was troubleshooting a problem with Microsoft Operations Manager (MOM). MOM uses SQL Server for storing all the computer, alert and performance related information. He narrowed the problem down to something specific, and needed a script that can search all the MOM tables for a specific string. I had no such script handy at that time, so we ended up searching manually. 

That's when I really felt the need for such a script and came up with this stored procedure "SearchAllTables". It accepts a search string as input parameter, goes and searches all char, varchar, nchar, nvarchar columns of all tables (only user created tables. System tables are excluded), owned by all users in the current database. Feel free to extend this procedure to search other datatypes. 

The output of this stored procedure contains two columns: 

- 1) The table name and column name in which the search string was found 
- 2) The actual content/value of the column (Only the first 3630 characters are displayed) 

Here's a word of caution, before you go ahead and run this procedure. Though this procedure is quite quick on smaller databases, it could take hours to complete, on a large database with too many character columns and a huge number of rows. So, if you are trying to run it on a large database, be prepared to wait (I did use the locking hint NOLOCK to reduce any locking). It is efficient to use Full-Text search feature for free text searching, but it doesn't make sense for this type of ad-hoc requirements. 

Create this procedure in the required database and here is how you run it:

--To search all columns of all tables in Pubs database for the keyword "Computer" 
EXEC CariDisemuaTable 'b4r12y'
GO
 

Here is the complete stored procedure code:

CREATE PROC CariDisemuaTable
(
@SearchStr nvarchar(100)
)
AS
BEGIN

-- Copyright © 2011 b4r12y. All rights reserved.
-- Written by: b4r12y
-- Tested on: SQL Server 7.0 and SQL Server 2005


CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName =
(
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY(
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
), 'IsMSShipped'
) = 0
)

WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName =
(
SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)

IF @ColumnName IS NOT NULL
BEGIN
INSERT INTO #Results
EXEC
(
'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
FROM ' + @TableName + ' (NOLOCK) ' +
' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
)
END
END
END

SELECT ColumnName, ColumnValue FROM #Results
END