Author Topic: Rebuilding  (Read 4392 times)

0 Members and 1 Guest are viewing this topic.

bp_pbs

  • Contributor
  • ***
  • Posts: 94
  • Karma: 1
    • View Profile
Rebuilding
« on: July 17, 2013, 07:34:41 PM »
So I added search movies by actors. But now VC has been stuck on rebuild for almost 2 days. :(  How can I get it to either speed up on the rebuild or end?


jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #1 on: July 17, 2013, 08:02:45 PM »
It shouldn't take more than a few minutes.

You can use task manager to end the process.

If you try to restart VC and it freezes again for more than a few minutes, then take a look at your actor XML.  If necessary you can rename the XML file and try to restart VC again.

If you think the XML is the cause you can send me the renamed XML file so I can have a look at it.

bp_pbs

  • Contributor
  • ***
  • Posts: 94
  • Karma: 1
    • View Profile
Re: Rebuilding
« Reply #2 on: July 17, 2013, 08:50:53 PM »
Got it to work. Had to reinstall Vox to another folder and copy over my old Vox info. :bonk


jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #3 on: July 17, 2013, 09:29:29 PM »
If that's all it was then deleting the contents of the srgs folder would probably have fixed it.

bp_pbs

  • Contributor
  • ***
  • Posts: 94
  • Karma: 1
    • View Profile
Re: Rebuilding
« Reply #4 on: July 17, 2013, 10:15:59 PM »
Alright James I'm convinced it has to be the XML. Have tried 10 times. everything works until I Generate XML for MovieActors and restart.


File to big had to add it to dropbox

https://www.dropbox.com/sh/9lcy9rjdq5sk2zi/4DOQYv1A18

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #5 on: July 17, 2013, 10:30:57 PM »
Looks like about 45000 actors, which is quite a lot!  I guess you have 4 or 5 thousand movies?

Here are some things you can try to trim it down.

In the xSql settings, find the row for actors.

Turn OFF submatch.  You will need to say the whole actor name, but that kind of makes sense for actors anyway.

You can also change the sql query to look like this:

Code: [Select]
select idActor,strActor from actors where idActor in (select idActor from actorlinkmovie where iOrder<5)
this will only use the 5 leading actors from each movie, instead of all the actors.  Some movies will list something like 60 actors that you've probably never heard of.

I would guess that you probably only have about 10 to 20 favourite actors that you would ever ask for by name, and you can always edit your list manually to get it down something a bit more reasonable than 45000.

Another option would be to edit the sql to return only actors that appear in at least 4 of your movies (or something like that) but the sql query is more complicated and I haven't figured it out yet.
« Last Edit: May 11, 2015, 08:26:47 AM by jitterjames »

bp_pbs

  • Contributor
  • ***
  • Posts: 94
  • Karma: 1
    • View Profile
Re: Rebuilding
« Reply #6 on: July 17, 2013, 10:43:00 PM »
I only have 1000+ movies  ;D . But MyMovie.dk pulls all the movie information.

I'm going to try that top 5 actors. That should work for me since I can't remember every actor name..lol

Thanks James

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #7 on: July 17, 2013, 10:55:52 PM »
Just remember that will be all actors from all movies, as long as they were one of the top 5 actors listed.  So you will still get a lot of actors.

Here is the SQL that will return:  "only actors that appear in 4 or more of the movies in your collection".  This is probably going to be a shorter list.  The SQL I came up with is probably terrible, but it seems to work.  I was OK at SQL back when I was in university but that was a very long time ago...  :'(

Code: [Select]
select * from (SELECT actors.idActor, actors.strActor, COUNT(actors.idActor) as Count FROM actorlinkmovie LEFT JOIN actors ON actorlinkmovie.idActor=actors.idActor GROUP BY actors.idActor ORDER BY Count DESC) where Count>3

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #8 on: July 17, 2013, 10:59:45 PM »
Oh, and here's a really great way to do it.  This sql query will sort actors by the number of movies they are in and then you can take only the top 100 most popular actors form the list.  To return more actors, just change the 100 to something else.

Code: [Select]
SELECT actors.idActor, actors.strActor, COUNT(actors.idActor) as Count FROM actorlinkmovie Natural JOIN actors GROUP BY actors.idActor ORDER BY Count DESC limit 100
ooooops, that returns 3 columns which is bad.  We need only 2 columns (1 for value and 1 for the phrase)
This should work:
Code: [Select]
SELECT idActor, strActor from (SELECT actors.idActor, actors.strActor, COUNT(actors.idActor) as Count FROM actorlinkmovie Natural JOIN actors GROUP BY actors.idActor ORDER BY Count DESC limit 100)
It is sad how happy this makes me.  :biglaugh
« Last Edit: July 17, 2013, 11:11:26 PM by jitterjames »

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #9 on: July 18, 2013, 08:52:35 AM »
For the record, I decided to the use last SQL statement in my setup, but I set the limit to 300.  I turned sub-match back ON.

Now it works really well.  300 is nothing for VC and I can ask for any actor that I can think of really, using either their first or last name, and it will find them, or show them in my alternates.

bp_pbs

  • Contributor
  • ***
  • Posts: 94
  • Karma: 1
    • View Profile
Re: Rebuilding
« Reply #10 on: July 18, 2013, 11:34:31 AM »
I'm the same with SQL. ;D .

So that last query did work for me.
I guess I have to do the same for Songs as well. Since I have 40K of them. SMH. Might just have to remove the Song xml unless I do the top rated songs.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Rebuilding
« Reply #11 on: July 18, 2013, 12:38:00 PM »
If your songs are rated I would use that, or you could probably use playcount.  If you've never played it, then you probably aren't going to ask for it...

then again if you never use this feature then you should ditch it completely because it does waste resources.

bp_pbs

  • Contributor
  • ***
  • Posts: 94
  • Karma: 1
    • View Profile
Re: Rebuilding
« Reply #12 on: July 19, 2013, 11:34:38 AM »
Thanks for your help James