2016-04-01 20 views
0

I searchvalue bir metin kutusu kazanılmış değerdirBüyük uzun sorgular için Wikipedia'dan nasıl içerik alınır?

url: "http://en.wikipedia.org//w/api.php?action=opensearch&format=json&search=" + searchvalue + "&limit=12" 

kullanılarak Ara API veri almak çalıştı. Benim sorunum, searchvalue = "the flash" istediğimde istenen sonuçları almam ancak searchvalue = "the flash and the supergirl iken hiçbir sonuç (boş diziler) elde etmem. Tam olarak bu başlık ile eşleşen hiçbir makale yoksa, searchvalue sözcüklerinden herhangi birini içeren makaleleri almak için API'ye nasıl çağrı yapabilirim.

https://en.wikipedia.org/w/index.php?search=the+flash+and+the+supergirl&title=Special:Search&go=Go&searchToken=6wtdjlxknk7q715hkdp52cegf 

cevap

2

Bir boolean arama kullanabilirsiniz: Böyle bir şey elde etmek çalışıyorum

Boole arama - "-" Bütün büyük arama motorları destekleyen "mantıklı değildir" için karakter, VE, VE, ve gruplandırma parantez parantez: (_). Mantıksal VEYA büyük harflerle yazılmalıdır; AND operatörü tüm terimler için (boşluklarla ayrılmış) kabul edilir, ancak sermayenin karşılığıdır. Eğer "Flaş" veya "Supergirl aramak istiyorsa Yani Wikipedia documentation

- mavi OR (kırmızı ve yeşil): Parantez çünkü gerekli bir özelliktir: (mavi VEYA kırmızı) VE yeşil farklıdır "searchvalue şöyle olurdu: "the flash" or "supergirl".

Here's that query in action

+0

Teşekkür ama benim app Wikipedia veri göndermeye çalışıyor ama sorguda ikiden fazla kelime varsa ben boş diziler olsun. Bu yüzden, sorgudaki kelimelerin herhangi birini içeren içerikleri almaya çalışmayı düşündüm. Bunu, yukarıda anlattığınız gibi boole aramasıyla nasıl yapacağımı anlamıyorum. Anlaşabilir misiniz lütfen? – Ayo

+0

Boş bir dizi alıyorsunuz çünkü bu arama için eşleşme olmadı (sorguda kaç kelime olduğu önemli değil). Tüm kelimeleri aramanıza gerek yok. "The" kelimesinin aranması hiç mantıklı değil. Dolayısıyla, bir noktada aramanızı nasıl gruplandıracağınıza karar vermeniz gerekir ve bu genellikle kullanıcı arayüzünde yapılır. Zaten dokümantasyonda olduğundan daha fazlasını nasıl açıklayabildiğimi bilmiyorum, ancak bu bağlantıyı güncellemedim çünkü çalışma değildi ve ne demek istediğimi açıklamalıyım, – Andy

+0

Teşekkürler. Sanırım şimdi anladım. Denerim. – Ayo

İlgili konular