SQL Fulltext Search Index or custom query to searching app database? - search

I have a .NET, SQL2005, C# website which will be open to public in June 2011
Site has video albums containing videos. Video albums and Videos has title, tags, description and other fields.
Video albums and videos are stored in different tables. Video albums can be public and private. I want to exclude the private albums and videos from search
I have stored procedure that searches just the tag field of albums and videos tables.
Will this stored proc scale with the number of rows in the tables?
I don't have full text search on title or tag field.
I would prefer searching the Title field. But the query requires '%keys%' format which slow.
What do you recommend to go with as search solution and prevent redesign later on?
EDIT: My original question was longer and nobody cared. So shorted.

You might look into Google Site Search. It's easy, customizable, and recognizable.

Related

How to know if a Google Photos album has changed

I'm using Google Photos API to access albums.
Users can have in an album anything from a single photo to thousands of photos.
Is there a way to get something like an ETag to know if an album has changed since a previous known state?
Currently, the only way I could find is to iterate over all the images, and having to do that in 100 photos each time can take a lot of calls just to find out at the end that nothing has changed.
You want to know whether the album of Google Photos has been changed.
I could understand like above. Unfortunately, in the current stage, there are no metadata like the modified date when the contents in the album were changed. So in my case, I use the following workaround. Please think of this as just one of several workarounds.
Workaround:
If the number of photos in the album is changed, it can be known by the property of mediaItemsCount.
If the cover photo is changed, it can be known by the property of coverPhotoBaseUrl.
If several photos in a album are changed without increasing and decreasing the number of photos, unfortunately, in the current stage, I think that it is required to confirm the creationTime, filename and so on using the method of mediaItems.list.
By confirming from above in order, I can know about the change of the album.
References:
Method: albums.list
Method: albums.get
Method: mediaItems.list

Teaser doesn't update in search results Drupal 7

I have a drupal 7 site with ApacheSolr search. When I edit a teaser (which is set up as "summary or trimmed") the teaser does not update in the search results. It's a particular problem for us in the people content type, as updated expert bio information doesn't refresh into the search results. As a result the teaser version that comes up in search doesn't reflect any new skills/experience. Is there a way I can force it to update node? (example: compare the text in the search results for Sivan: vs. his actual bio
Have you try to delete index and re-index it after the changes?

Youtube search using the google API

I am using the google API and I wanted to do a youtube search.
I request a search with https://www.googleapis.com/youtube/v3/search?part=snippet&q=[word that I searched for]&key=my_keyto get the items array. I noticed though that the items array does not return the results in the same order as when you search youtube yourself.
Ex: if I search for the word 'bad' the first result in the items array is the "Young Lex ft AwKarin - BAD ( Official Music Video Clip )" while if I searched like a youtube user its the "Michael Jackson - Bad (Shortened Version)".
Perhaps they are not ordered and I have to order them using a property or something I have missed.
So my question is how can I make the items array return as the first item the first result that would have appeared in the youtube search.
edit: I have tried adding chart=MostPopular leaving to default videoCategoryId, but it still showed the same first result.
Well, it seems that the YouTube acts like that and it is a natural behavior of it. The only possible way that you can do to match the API and the YouTube site itself is by passing the same filter for it. Example is upload date and viewCount.
Here is the example request for viewCount.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&maxResults=10&order=viewCount&q=spider&_h=1&
and this is for the YouTube site
https://www.youtube.com/results?q=spider&sp=CAM%253D
Hope this slight information helps you.

Sphinx "reverse" search

We have a website where users put up ads for stuff they want to sell, with parameters such as price, location, title and description. These can then be searched for using sphinx and allowing users to specify min- and maxprice, a location with a searchradius (using google maps) etc. Users can choose to save these searches and get emails when new ads appear that fit their search. Herein lies the problem: We want to perform a reverse search every time an ad is posted. With the price, location, title and description as parameters we want to search through all the saved "searches" and get the ones that would have found the ad. The min- and maxprice should just be performed in a query i suppose, and some Quorom syntax to get all ads with at least 2 or mby just 1 occurance in the title/description. Our problem lies mostly in the geo-search. How do we find all searches where the "search-circles" would include our newly posted location without performing a search for every saved search?
That is the main-question, any comment on our suggested solution to the other problems is also very welcome. Thank you in advance / Jenny
The standard 'geo-search' support on sphinx should work just as well on a Prospective Index, as a normal retrospective search.
Having built a sphinx 'index' of all the saved searches...
And you run a query using the 'ad' as the search query:- rather than the 'filter' using a fixed radius, you just use the radius from the attribute (ie the radius stored on the particular query) - if using the API cant use setFilterRange directly, need to use setSelect, to make a new virtual attribute.
$cl->setSelect("*,IF(#geodist<radius,1,0) as myfilter");
$cl->setFilter('myfilter',array(1));
(and yes, the min/maxprice can just be done with normal filters too - just inverting the logic to that you would use in a retrospective search)
... the complication is in the 'full-text' query, if the saved search is anything more than a single keyword, but you appear to have already figured out that part.

MOSS query the SiteUserInfoList list

I want to know how I can connect to the SiteUserInfoList using U2U CAML Builder tool, I know I can do it in code. But want to be able to quickly query it through the tool so I can bring back the values it holds.
Or a better question... where is the SiteUserInfoList information held in the content database (mysites or site content database?)
...I looked in Alllists table and filtered by tp_Title column, but no rows were returned....
Many Thanks,
Nav
This is a good article that explains how this information is stored in Sharepoint.
SiteUserInfo gets stored in content database and the userprofile data in the SSP database.
http://blah.winsmarts.com/2007-7-MOSS_User_Profile_Info_-_How_the_information_flows.aspx

Resources