Esempio n. 1
0
        public void IndexMovie(Movie movie)
        {
            using (var sphinx = new DbSphinx())
            {
                var query = new SphinxReplaceBuilder("torronto_movies")
                            .AddField("id", movie.ID.GetValueOrDefault())
                            .AddField("title", movie.Title)
                            .AddField("original_title", movie.OriginalTitle)
                            .AddField("description", movie.Description)
                            .AddField("status", (int)movie.Status)
                            .Build();

                var complTitle = new StringBuilder(movie.Title);

                if (!string.IsNullOrEmpty(movie.OriginalTitle))
                {
                    complTitle.AppendFormat(" / {0}", movie.OriginalTitle);
                }
                if (movie.ReleaseDate.HasValue)
                {
                    complTitle.AppendFormat(" ({0})", movie.ReleaseDate.Value.Year);
                }

                var complQuery = new SphinxReplaceBuilder("torronto_movies_completion")
                                 .AddField("id", movie.ID.GetValueOrDefault())
                                 .AddField("title", complTitle.ToString())
                                 .AddField("title_indexed", complTitle.ToString())
                                 .Build();

                sphinx.Execute(query);
                sphinx.Execute(complQuery);
            }
        }
Esempio n. 2
0
        public void IndexTorrent(Torrent torrent)
        {
            using (var sphinx = new DbSphinx())
            {
                var query = new SphinxReplaceBuilder("torronto_torrents")
                            .AddField("id", torrent.ID.GetValueOrDefault())
                            .AddField("title", torrent.Title)
                            .AddField("video_quality", (int)torrent.VideoQuality)
                            .AddField("sound_quality", (int)torrent.AudioQuality)
                            .AddField("translation", (int)torrent.Translation)
                            .AddField("size", decimal.ToInt32(torrent.Size))
                            .Build();

                sphinx.Execute(query);
            }
        }
Esempio n. 3
0
        public void TestReplace()
        {
            var query = new SphinxReplaceBuilder("test")
                        .AddField("id", 1)
                        .AddField("title", "No'ah")
                        .AddField("content", null)
                        .AddField("video_quality", 30)
                        .AddField("sound_quality", 20)
                        .Build();

            var expected =
                @"REPLACE INTO `test`
(`id`, `title`, `content`, `video_quality`, `sound_quality`)
VALUES
('1', 'No\'ah', '', '30', '20')";

            Assert.AreEqual(expected, query);
        }