mirror of https://github.com/interlegis/sapl.git
committed by
GitHub
56 changed files with 3976 additions and 2377 deletions
@ -0,0 +1,18 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# Pass the base SOLR URL as parameter, i.e., bash check_solr http://localhost:8983 |
||||
|
|
||||
|
SOLR_URL=$1 |
||||
|
|
||||
|
echo "Waiting for solr connection at $SOLR_URL ..." |
||||
|
while true; do |
||||
|
echo "$SOLR_URL/solr/admin/collections?action=LIST" |
||||
|
RESULT=$(curl -s -o /dev/null -I "$SOLR_URL/solr/admin/collections?action=LIST" -w '%{http_code}') |
||||
|
echo $RESULT |
||||
|
if [ "$RESULT" -eq '200' ]; then |
||||
|
echo "Solr server is up!" |
||||
|
break |
||||
|
else |
||||
|
sleep 3 |
||||
|
fi |
||||
|
done |
||||
@ -0,0 +1,35 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-01 18:18 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('materia', '0033_auto_20181030_1039'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='ano_origem_externa', |
||||
|
field=models.PositiveSmallIntegerField(blank=True, choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], null=True, verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='numeracao', |
||||
|
name='ano_materia', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='proposicao', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(blank=True, choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], default=None, null=True, verbose_name='Ano'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,35 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-04 12:21 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('materia', '0034_auto_20190101_1618'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='ano_origem_externa', |
||||
|
field=models.PositiveSmallIntegerField(blank=True, choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], null=True, verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='numeracao', |
||||
|
name='ano_materia', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='proposicao', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(blank=True, choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], default=None, null=True, verbose_name='Ano'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,41 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-06 05:30 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('materia', '0035_auto_20190104_1021'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='data_apresentacao', |
||||
|
field=models.DateField(verbose_name='Data de Apresentação'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='data_publicacao', |
||||
|
field=models.DateField(blank=True, null=True, verbose_name='Data de Publicação'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='local_origem_externa', |
||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='materia.Origem', verbose_name='Local de Origem'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='numero_protocolo', |
||||
|
field=models.PositiveIntegerField(blank=True, null=True, verbose_name='Número do Protocolo'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='materialegislativa', |
||||
|
name='tipo', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='materia.TipoMateriaLegislativa', verbose_name='Tipo de Matéria Legislativa'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-01 18:18 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('norma', '0017_normaestatisticas'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='anexonormajuridica', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='normajuridica', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-04 12:21 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('norma', '0018_auto_20190101_1618'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='anexonormajuridica', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='normajuridica', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,31 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-06 06:54 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('norma', '0019_auto_20190104_1021'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='normajuridica', |
||||
|
name='data_publicacao', |
||||
|
field=models.DateField(blank=True, null=True, verbose_name='Data de Publicação'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='normajuridica', |
||||
|
name='tipo', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='norma.TipoNormaJuridica', verbose_name='Tipo da Norma Jurídica'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='normajuridica', |
||||
|
name='veiculo_publicacao', |
||||
|
field=models.CharField(blank=True, max_length=30, verbose_name='Veículo de Publicação'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-01 18:18 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('protocoloadm', '0010_auto_20181212_1900'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='documentoadministrativo', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='protocolo', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano do Protocolo'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-04 12:21 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('protocoloadm', '0011_auto_20190101_1618'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='documentoadministrativo', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='protocolo', |
||||
|
name='ano', |
||||
|
field=models.PositiveSmallIntegerField(choices=[(2020, 2020), (2019, 2019), (2018, 2018), (2017, 2017), (2016, 2016), (2015, 2015), (2014, 2014), (2013, 2013), (2012, 2012), (2011, 2011), (2010, 2010), (2009, 2009), (2008, 2008), (2007, 2007), (2006, 2006), (2005, 2005), (2004, 2004), (2003, 2003), (2002, 2002), (2001, 2001), (2000, 2000), (1999, 1999), (1998, 1998), (1997, 1997), (1996, 1996), (1995, 1995), (1994, 1994), (1993, 1993), (1992, 1992), (1991, 1991), (1990, 1990), (1989, 1989), (1988, 1988), (1987, 1987), (1986, 1986), (1985, 1985), (1984, 1984), (1983, 1983), (1982, 1982), (1981, 1981), (1980, 1980), (1979, 1979), (1978, 1978), (1977, 1977), (1976, 1976), (1975, 1975), (1974, 1974), (1973, 1973), (1972, 1972), (1971, 1971), (1970, 1970), (1969, 1969), (1968, 1968), (1967, 1967), (1966, 1966), (1965, 1965), (1964, 1964), (1963, 1963), (1962, 1962), (1961, 1961), (1960, 1960), (1959, 1959), (1958, 1958), (1957, 1957), (1956, 1956), (1955, 1955), (1954, 1954), (1953, 1953), (1952, 1952), (1951, 1951), (1950, 1950), (1949, 1949), (1948, 1948), (1947, 1947), (1946, 1946), (1945, 1945), (1944, 1944), (1943, 1943), (1942, 1942), (1941, 1941), (1940, 1940), (1939, 1939), (1938, 1938), (1937, 1937), (1936, 1936), (1935, 1935), (1934, 1934), (1933, 1933), (1932, 1932), (1931, 1931), (1930, 1930), (1929, 1929), (1928, 1928), (1927, 1927), (1926, 1926), (1925, 1925), (1924, 1924), (1923, 1923), (1922, 1922), (1921, 1921), (1920, 1920), (1919, 1919), (1918, 1918), (1917, 1917), (1916, 1916), (1915, 1915), (1914, 1914), (1913, 1913), (1912, 1912), (1911, 1911), (1910, 1910), (1909, 1909), (1908, 1908), (1907, 1907), (1906, 1906), (1905, 1905), (1904, 1904), (1903, 1903), (1902, 1902), (1901, 1901), (1900, 1900), (1899, 1899), (1898, 1898), (1897, 1897), (1896, 1896), (1895, 1895), (1894, 1894), (1893, 1893), (1892, 1892), (1891, 1891), (1890, 1890)], verbose_name='Ano do Protocolo'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,26 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.10.8 on 2019-01-06 15:36 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('protocoloadm', '0012_auto_20190104_1021'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='protocolo', |
||||
|
name='tipo_documento', |
||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='protocoloadm.TipoDocumentoAdministrativo', verbose_name='Tipo de Documento'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='protocolo', |
||||
|
name='tipo_materia', |
||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='materia.TipoMateriaLegislativa', verbose_name='Tipo de Matéria'), |
||||
|
), |
||||
|
] |
||||
@ -1,503 +0,0 @@ |
|||||
.container-home { |
|
||||
position: relative; |
|
||||
padding: 2em 1.5em 1.5em 1.5em; |
|
||||
max-width: 1000px; |
|
||||
margin: 0 auto; } |
|
||||
.container-home a:hover { |
|
||||
color: #444; |
|
||||
-webkit-transition: 0.3s ease-in; |
|
||||
-moz-transition: 0.3s ease-in; |
|
||||
-o-transition: 0.3s ease-in; } |
|
||||
.container-home #homeIndex { |
|
||||
text-align: center; } |
|
||||
.container-home .homeBanner span { |
|
||||
color: white; |
|
||||
font-size: 32px; |
|
||||
font-weight: 600; |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
padding: 2px 45px 4px; |
|
||||
border: 2px solid; } |
|
||||
.container-home .homeBanner::after { |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
height: 100%; } |
|
||||
.container-home .homeBlock { |
|
||||
display: inline-block; |
|
||||
position: relative; |
|
||||
background-color: #F3F3F3; |
|
||||
width: 190px; |
|
||||
height: 260px; |
|
||||
margin: 3px; |
|
||||
text-align: center; |
|
||||
font-size: 0; |
|
||||
overflow: hidden; } |
|
||||
.container-home .homeBlock > a { |
|
||||
display: block; |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
top: 0; |
|
||||
left: 0; } |
|
||||
.container-home .homeBlock::after { |
|
||||
content: ''; |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
height: 100%; |
|
||||
overflow: visible; |
|
||||
clear: none; |
|
||||
visibility: initial; } |
|
||||
.container-home .homeContent { |
|
||||
position: relative; |
|
||||
padding: 10px; |
|
||||
text-align: justify; |
|
||||
font-size: 14px; |
|
||||
color: #FFF; |
|
||||
opacity: 0; |
|
||||
transition: opacity 0.5s ease; |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; } |
|
||||
.container-home .homeContent p { |
|
||||
display: block; |
|
||||
line-height: 13px; |
|
||||
font-size: 80%; |
|
||||
color: white; } |
|
||||
.container-home .homeIcon { |
|
||||
position: relative; |
|
||||
display: inline-block; |
|
||||
width: 105px; |
|
||||
height: 105px; |
|
||||
border-radius: 50%; |
|
||||
background: #364347; |
|
||||
z-index: 1; } |
|
||||
.container-home .homeIcon::before { |
|
||||
content: ''; |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
border-radius: 50%; |
|
||||
background: #364347; |
|
||||
top: 0; |
|
||||
left: 0; |
|
||||
transform: scale(0.95); |
|
||||
transition: transform 0.6s ease; } |
|
||||
.container-home .homeIcon img { |
|
||||
position: absolute; |
|
||||
margin: auto; |
|
||||
top: 0; |
|
||||
bottom: 0; |
|
||||
right: 0; |
|
||||
left: 0; |
|
||||
transition: opacity 0.4s 0.4s ease; } |
|
||||
.container-home .homeFront { |
|
||||
position: absolute; |
|
||||
top: 46%; |
|
||||
width: 100%; |
|
||||
font-size: 0; |
|
||||
transform: translateY(-60%); } |
|
||||
.container-home .homeFront h2 { |
|
||||
position: absolute; |
|
||||
margin-top: 18px; |
|
||||
font-size: 22px; |
|
||||
font-weight: 700; |
|
||||
color: #595959 !important; |
|
||||
width: 100%; |
|
||||
padding: 0 6%; |
|
||||
z-index: 0; } |
|
||||
.container-home .homeTitle { |
|
||||
display: block; |
|
||||
height: 32px; |
|
||||
text-align: center; |
|
||||
width: 100%; |
|
||||
opacity: 0; |
|
||||
transition: opacity 0.4s ease; } |
|
||||
.container-home .homeTitle::before { |
|
||||
content: ''; |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
height: 100%; } |
|
||||
.container-home .homeTitle h2 { |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
max-width: 110px; |
|
||||
font-size: 14px; |
|
||||
color: white !important; |
|
||||
line-height: 1em; } |
|
||||
.container-home .homeTitle img { |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
height: 30px; |
|
||||
margin-right: 5px; } |
|
||||
.container-home .homeBlock:hover .homeIcon::before { |
|
||||
transform: scale(3.6) translateY(7px); } |
|
||||
.container-home .homeBlock:hover .homeContent { |
|
||||
opacity: 1; |
|
||||
transition-delay: 0.2s; } |
|
||||
.container-home .homeBlock:hover .homeIcon img { |
|
||||
opacity: 0; |
|
||||
transition-duration: 0.2s; |
|
||||
transition-delay: 0s; } |
|
||||
.container-home .homeBlock:hover .homeTitle { |
|
||||
opacity: 1; } |
|
||||
|
|
||||
html { |
|
||||
position: relative; |
|
||||
min-height: 100%; } |
|
||||
|
|
||||
body { |
|
||||
margin-bottom: 160px; } |
|
||||
|
|
||||
h1, h2, h3, h4, h5, h6, form, dl, dt, dd, p, div, img, a { |
|
||||
margin: 0; |
|
||||
padding: 0; } |
|
||||
|
|
||||
h1, .h1 { |
|
||||
font-size: 30px; } |
|
||||
|
|
||||
h2, .h2 { |
|
||||
font-size: 24px; } |
|
||||
|
|
||||
h3, .h3 { |
|
||||
font-size: 20px; } |
|
||||
|
|
||||
h4, .h4 { |
|
||||
font-size: 16px; } |
|
||||
|
|
||||
h5, .h5 { |
|
||||
font-size: 14px; } |
|
||||
|
|
||||
h6, .h6 { |
|
||||
font-size: 12px; } |
|
||||
|
|
||||
p { |
|
||||
margin: 0.5em 0; } |
|
||||
p .control-label { |
|
||||
font-weight: bold; } |
|
||||
|
|
||||
label { |
|
||||
margin-bottom: 0; |
|
||||
line-height: 1; } |
|
||||
|
|
||||
fieldset fieldset { |
|
||||
font-size: 95%; } |
|
||||
fieldset fieldset legend { |
|
||||
font-size: 18px; } |
|
||||
|
|
||||
.page-header { |
|
||||
margin: 20px 0px 10px; } |
|
||||
|
|
||||
.caret.top { |
|
||||
transform: rotate(180deg); } |
|
||||
|
|
||||
.btn:hover, .btn:focus { |
|
||||
color: inherit; } |
|
||||
|
|
||||
.btn-default.btn-excluir { |
|
||||
color: #d9534f; } |
|
||||
.btn-default.btn-excluir:hover { |
|
||||
color: #fff; |
|
||||
border-color: #de6764; |
|
||||
background-color: #de6764; } |
|
||||
|
|
||||
.btn-cancel-iframe { |
|
||||
position: relative; |
|
||||
text-align: right; |
|
||||
opacity: 0.5; } |
|
||||
.btn-cancel-iframe:hover { |
|
||||
opacity: 1; } |
|
||||
.btn-cancel-iframe a { |
|
||||
padding: 10px; |
|
||||
display: inline-block; } |
|
||||
|
|
||||
.legend { |
|
||||
display: block; |
|
||||
width: 100%; |
|
||||
padding: 0; |
|
||||
margin-bottom: 20px; |
|
||||
font-size: 21px; |
|
||||
line-height: inherit; |
|
||||
color: #333333; |
|
||||
border: 0; |
|
||||
border-bottom: 1px solid #e5e5e5; |
|
||||
clear: both; } |
|
||||
|
|
||||
.grid-gutter-width-right { |
|
||||
margin-right: 15px; } |
|
||||
|
|
||||
.controls-file { |
|
||||
padding: 10px; |
|
||||
border: 1px solid #d6e1e5; |
|
||||
border-radius: 4px; } |
|
||||
.controls-file label.checkbox-inline { |
|
||||
margin: 0px; |
|
||||
display: block; } |
|
||||
|
|
||||
.help-block-danger { |
|
||||
margin: 15px; |
|
||||
padding: 15px; |
|
||||
border: 2px dashed #f00; } |
|
||||
|
|
||||
.control-label { |
|
||||
margin: 0; } |
|
||||
|
|
||||
.form-control-static { |
|
||||
padding-top: 0; |
|
||||
min-height: auto; } |
|
||||
.form-control-static img { |
|
||||
max-width: 100%; } |
|
||||
|
|
||||
.pagination { |
|
||||
padding-top: 25px; } |
|
||||
|
|
||||
.modal .alert { |
|
||||
margin-bottom: 0; } |
|
||||
|
|
||||
.avatar-parlamentar { |
|
||||
height: 128px; |
|
||||
width: 128px; |
|
||||
margin: 0 auto; |
|
||||
display: table; } |
|
||||
|
|
||||
.masthead { |
|
||||
padding: 10px; } |
|
||||
.masthead .nav { |
|
||||
clear: both; } |
|
||||
.masthead .navbar-brand { |
|
||||
padding: 0px; |
|
||||
color: inherit; |
|
||||
font-size: 24px; } |
|
||||
.masthead .navbar-brand img.img-responsive { |
|
||||
height: 95px; |
|
||||
margin-right: 15px; |
|
||||
display: inline-block; } |
|
||||
.masthead .navbar-brand small { |
|
||||
color: #93A4AA; |
|
||||
font-size: 75%; |
|
||||
line-height: 25px; } |
|
||||
.masthead .navbar-brand .vcenter { |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
float: none; |
|
||||
padding: 10px; } |
|
||||
|
|
||||
nav.navbar { |
|
||||
margin-bottom: 0; |
|
||||
border-radius: 0; |
|
||||
font-size: 15px; } |
|
||||
|
|
||||
nav .navbar-nav > li > a { |
|
||||
padding-top: 0px; |
|
||||
padding-bottom: 0px; |
|
||||
line-height: 75px; } |
|
||||
nav .navbar-nav > li > a:hover { |
|
||||
background-color: #23527c; } |
|
||||
|
|
||||
nav .navbar-nav > li:nth-child(2) > .dropdown-menu { |
|
||||
right: auto; } |
|
||||
|
|
||||
nav .navbar-nav:last-child > li:last-child a { |
|
||||
padding-right: 0px; } |
|
||||
|
|
||||
.controls-radio-checkbox { |
|
||||
padding: 0px; |
|
||||
border: 1px solid #d6e1e5; |
|
||||
border-radius: 4px; |
|
||||
min-height: 20px; } |
|
||||
.controls-radio-checkbox .checkbox, .controls-radio-checkbox .radio, .controls-radio-checkbox .checkbox-inline, .controls-radio-checkbox .radio-inline { |
|
||||
padding: 8px 8px 8px 36px; |
|
||||
margin: 0; |
|
||||
line-height: 1.6; |
|
||||
display: block; } |
|
||||
.controls-radio-checkbox .checkbox:hover, .controls-radio-checkbox .radio:hover, .controls-radio-checkbox .checkbox-inline:hover, .controls-radio-checkbox .radio-inline:hover { |
|
||||
background-color: #d6e1e5; } |
|
||||
.controls-radio-checkbox .checkbox .icons, .controls-radio-checkbox .radio .icons, .controls-radio-checkbox .checkbox-inline .icons, .controls-radio-checkbox .radio-inline .icons { |
|
||||
top: auto; |
|
||||
left: 8px; } |
|
||||
.controls-radio-checkbox .checkbox-inline, .controls-radio-checkbox .radio-inline { |
|
||||
display: inline-block; } |
|
||||
.controls-radio-checkbox .help-block { |
|
||||
margin: 15px; |
|
||||
padding: 15px; |
|
||||
border: 2px dashed #d6e1e5; } |
|
||||
|
|
||||
.controls-radio-checkbox__old { |
|
||||
padding: 0px; |
|
||||
border: 1px solid #d6e1e5; |
|
||||
border-radius: 4px; |
|
||||
min-height: 20px; } |
|
||||
.controls-radio-checkbox__old label { |
|
||||
padding: 0; |
|
||||
line-height: 2.7; |
|
||||
padding-left: 36px; } |
|
||||
.controls-radio-checkbox__old label .icons { |
|
||||
top: 8px; |
|
||||
left: 8px; } |
|
||||
.controls-radio-checkbox__old label.checkbox-inline, .controls-radio-checkbox__old label.radio-inline { |
|
||||
padding-right: 8px; } |
|
||||
.controls-radio-checkbox__old label.checkbox-inline .icons, .controls-radio-checkbox__old label.radio-inline .icons { |
|
||||
top: 8px; |
|
||||
left: 8px; } |
|
||||
.controls-radio-checkbox__old .checkbox, .controls-radio-checkbox__old .radio, .controls-radio-checkbox__old .checkbox-inline, .controls-radio-checkbox__old .radio-inline { |
|
||||
margin: 0; } |
|
||||
.controls-radio-checkbox__old .checkbox:hover, .controls-radio-checkbox__old .radio:hover, .controls-radio-checkbox__old .checkbox-inline:hover, .controls-radio-checkbox__old .radio-inline:hover { |
|
||||
background-color: #d6e1e5; } |
|
||||
|
|
||||
.manual, .manual ul { |
|
||||
padding-left: 1.5em; |
|
||||
list-style-type: none; |
|
||||
margin-top: 0; |
|
||||
font-size: 100%; } |
|
||||
|
|
||||
.manual li { |
|
||||
display: list-item; |
|
||||
line-height: 1.5em; |
|
||||
padding-right: 0; } |
|
||||
.manual li a { |
|
||||
background-color: transparent; |
|
||||
border: none; |
|
||||
border-radius: none; |
|
||||
padding: 0; } |
|
||||
|
|
||||
.container-tabaux .sidebar-tabaux { |
|
||||
background: #fafafa; |
|
||||
margin-top: -70px; |
|
||||
padding: 10px; |
|
||||
border: 1px solid #eee; } |
|
||||
.container-tabaux .sidebar-tabaux .navbar-right { |
|
||||
margin: 0; } |
|
||||
.container-tabaux .sidebar-tabaux .nav-pills > li + li { |
|
||||
margin-left: 0px; } |
|
||||
.container-tabaux .sidebar-tabaux li { |
|
||||
width: 100%; } |
|
||||
.container-tabaux .sidebar-tabaux span { |
|
||||
display: none; } |
|
||||
.container-tabaux .sidebar-tabaux .dropdown-menu { |
|
||||
padding: 0px; |
|
||||
right: 10px; |
|
||||
margin-top: -5px; |
|
||||
overflow: hidden; } |
|
||||
.container-tabaux .sidebar-tabaux .dropdown-menu a { |
|
||||
border: 0px; } |
|
||||
|
|
||||
.container-tabaux ul { |
|
||||
list-style: none; |
|
||||
padding: 0; } |
|
||||
|
|
||||
.container-tabaux .list { |
|
||||
font-family: "SourceSansProSemiBold", Helvetica, Arial, sans-serif; |
|
||||
font-size: 0px; |
|
||||
display: table; |
|
||||
width: 100%; |
|
||||
margin: 0; } |
|
||||
.container-tabaux .list ul { |
|
||||
display: table; |
|
||||
width: 100%; |
|
||||
margin: 0; } |
|
||||
.container-tabaux .list li { |
|
||||
width: calc(50%); |
|
||||
display: inline-block; |
|
||||
position: relative; } |
|
||||
.container-tabaux .list > li { |
|
||||
width: 100%; |
|
||||
border-bottom: 1px solid #eee; |
|
||||
padding-bottom: 20px; |
|
||||
margin-bottom: 20px; } |
|
||||
.container-tabaux .list .head_title { |
|
||||
color: #364347; |
|
||||
font-size: 2.4rem; |
|
||||
text-transform: none; } |
|
||||
.container-tabaux .list a span { |
|
||||
display: none; } |
|
||||
|
|
||||
#styleparlamentar { |
|
||||
border: 0px solid #d6e1e5; |
|
||||
border-top-color: #d6e1e5; |
|
||||
border-right-color: #d6e1e5; |
|
||||
border-bottom-color: #d6e1e5; |
|
||||
border-left-color: #d6e1e5; |
|
||||
border-image-source: initial; |
|
||||
border-image-slice: initial; |
|
||||
border-image-repeat: initial; |
|
||||
font-size: 16px; |
|
||||
line-height: 1.467; |
|
||||
padding: 7px 12px; |
|
||||
height: 40px; |
|
||||
-webkit-appearance: none; |
|
||||
border-radius: 4px; |
|
||||
-webkit-box-shadow: none; |
|
||||
box-shadow: none; |
|
||||
margin-left: 1.0em; } |
|
||||
|
|
||||
.footer { |
|
||||
background: #364347; |
|
||||
color: white; |
|
||||
text-align: center; |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
bottom: 0px; } |
|
||||
.footer p { |
|
||||
color: white; |
|
||||
margin-top: 10px; } |
|
||||
.footer .container { |
|
||||
padding-top: 25px; } |
|
||||
|
|
||||
@media (max-width: 1199px) { |
|
||||
nav .container { |
|
||||
width: auto !important; } |
|
||||
.navbar-nav > li > a { |
|
||||
padding-left: 10.71429px; |
|
||||
padding-right: 10.71429px; } } |
|
||||
|
|
||||
@media (max-width: 1091px) { |
|
||||
.container { |
|
||||
width: auto; } |
|
||||
.navbar-nav > li > a { |
|
||||
padding-left: 7.5px; |
|
||||
padding-right: 7.5px; } |
|
||||
.masthead .navbar-brand { |
|
||||
font-size: 22px; } |
|
||||
.masthead .navbar-brand img.img-responsive { |
|
||||
height: 60px; |
|
||||
margin-right: 7.5px; } } |
|
||||
|
|
||||
@media (max-width: 991px) { |
|
||||
body { |
|
||||
margin: 0; } |
|
||||
.footer { |
|
||||
position: relative; } |
|
||||
.caret { |
|
||||
margin-left: 1px; } |
|
||||
.navbar-nav > li > a { |
|
||||
padding-left: 4px; |
|
||||
padding-right: 4px; } } |
|
||||
|
|
||||
@media (max-width: 767px) { |
|
||||
nav .navbar-nav > li > a { |
|
||||
line-height: 2.5; } |
|
||||
nav .navbar-right { |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
margin: 10px; } |
|
||||
nav .navbar-right > li { |
|
||||
vertical-align: top; |
|
||||
display: inline-block; } |
|
||||
nav .navbar-right > li a { |
|
||||
padding-left: 10px; |
|
||||
padding-right: 10px; } |
|
||||
nav .navbar-right .pesquisa.open ul { |
|
||||
position: absolute; } |
|
||||
nav .navbar-right .navbar-form { |
|
||||
margin: 8px 0; } |
|
||||
.table { |
|
||||
width: auto; |
|
||||
white-space: normal; |
|
||||
display: block; |
|
||||
overflow-x: auto; } } |
|
||||
|
|
||||
@media (min-width: 1092px) and (max-width: 1199px) { |
|
||||
.container { |
|
||||
width: 1070px; } } |
|
||||
|
|
||||
@media print { |
|
||||
a[href]:after { |
|
||||
content: none !important; } } |
|
||||
File diff suppressed because it is too large
@ -0,0 +1,61 @@ |
|||||
|
version: '2' |
||||
|
services: |
||||
|
sapldb: |
||||
|
image: postgres:10.5-alpine |
||||
|
restart: always |
||||
|
environment: |
||||
|
POSTGRES_PASSWORD: sapl |
||||
|
POSTGRES_USER: sapl |
||||
|
POSTGRES_DB: sapl |
||||
|
PGDATA : /var/lib/postgresql/data/ |
||||
|
volumes: |
||||
|
- sapldb_data:/var/lib/postgresql/data/ |
||||
|
ports: |
||||
|
- "5432:5432" |
||||
|
|
||||
|
saplsolr: |
||||
|
image: solr:7.4-alpine |
||||
|
restart: always |
||||
|
command: bin/solr start -c -f |
||||
|
volumes: |
||||
|
- solr_data:/opt/solr/server/solr |
||||
|
- solr_configsets:/opt/solr/server/solr/configsets |
||||
|
ports: |
||||
|
- "8983:8983" |
||||
|
|
||||
|
sapl: |
||||
|
image: interlegis/sapl:3.1.138 |
||||
|
# build: . |
||||
|
restart: always |
||||
|
environment: |
||||
|
ADMIN_PASSWORD: interlegis |
||||
|
ADMIN_EMAIL: email@dominio.net |
||||
|
DEBUG: 'False' |
||||
|
EMAIL_PORT: 587 |
||||
|
EMAIL_USE_TLS: 'False' |
||||
|
EMAIL_HOST: smtp.dominio.net |
||||
|
EMAIL_HOST_USER: usuariosmtp |
||||
|
EMAIL_HOST_PASSWORD: senhasmtp |
||||
|
USE_SOLR: 'True' |
||||
|
#SOLR_COLLECTION: sapl |
||||
|
#SOLR_HOST: saplsolr |
||||
|
SOLR_URL: http://saplsolr:8983/solr/sapl |
||||
|
TZ: America/Sao_Paulo |
||||
|
volumes: |
||||
|
- sapl_data:/var/interlegis/sapl/data |
||||
|
- sapl_media:/var/interlegis/sapl/media |
||||
|
- sapl_root:/var/interlegis/sapl |
||||
|
volumes_from: |
||||
|
- saplsolr |
||||
|
depends_on: |
||||
|
- sapldb |
||||
|
- saplsolr |
||||
|
ports: |
||||
|
- "80:80" |
||||
|
volumes: |
||||
|
sapldb_data: |
||||
|
sapl_data: |
||||
|
sapl_media: |
||||
|
sapl_root: |
||||
|
solr_data: |
||||
|
solr_configsets: |
||||
@ -0,0 +1,54 @@ |
|||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more |
||||
|
# contributor license agreements. See the NOTICE file distributed with |
||||
|
# this work for additional information regarding copyright ownership. |
||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0 |
||||
|
# (the "License"); you may not use this file except in compliance with |
||||
|
# the License. You may obtain a copy of the License at |
||||
|
# |
||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
# |
||||
|
# Unless required by applicable law or agreed to in writing, software |
||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
# See the License for the specific language governing permissions and |
||||
|
# limitations under the License. |
||||
|
|
||||
|
# a couple of test stopwords to test that the words are really being |
||||
|
# configured from this file: |
||||
|
stopworda |
||||
|
stopwordb |
||||
|
|
||||
|
# Standard english stop words taken from Lucene's StopAnalyzer |
||||
|
a |
||||
|
an |
||||
|
and |
||||
|
are |
||||
|
as |
||||
|
at |
||||
|
be |
||||
|
but |
||||
|
by |
||||
|
for |
||||
|
if |
||||
|
in |
||||
|
into |
||||
|
is |
||||
|
it |
||||
|
no |
||||
|
not |
||||
|
of |
||||
|
on |
||||
|
or |
||||
|
such |
||||
|
that |
||||
|
the |
||||
|
their |
||||
|
then |
||||
|
there |
||||
|
these |
||||
|
they |
||||
|
this |
||||
|
to |
||||
|
was |
||||
|
will |
||||
|
with |
||||
@ -0,0 +1,253 @@ |
|||||
|
| From svn.tartarus.org/snowball/trunk/website/algorithms/portuguese/stop.txt |
||||
|
| This file is distributed under the BSD License. |
||||
|
| See http://snowball.tartarus.org/license.php |
||||
|
| Also see http://www.opensource.org/licenses/bsd-license.html |
||||
|
| - Encoding was converted to UTF-8. |
||||
|
| - This notice was added. |
||||
|
| |
||||
|
| NOTE: To use this file with StopFilterFactory, you must specify format="snowball" |
||||
|
|
||||
|
| A Portuguese stop word list. Comments begin with vertical bar. Each stop |
||||
|
| word is at the start of a line. |
||||
|
|
||||
|
|
||||
|
| The following is a ranked list (commonest to rarest) of stopwords |
||||
|
| deriving from a large sample of text. |
||||
|
|
||||
|
| Extra words have been added at the end. |
||||
|
|
||||
|
de | of, from |
||||
|
a | the; to, at; her |
||||
|
o | the; him |
||||
|
que | who, that |
||||
|
e | and |
||||
|
do | de + o |
||||
|
da | de + a |
||||
|
em | in |
||||
|
um | a |
||||
|
para | for |
||||
|
| é from SER |
||||
|
com | with |
||||
|
não | not, no |
||||
|
uma | a |
||||
|
os | the; them |
||||
|
no | em + o |
||||
|
se | himself etc |
||||
|
na | em + a |
||||
|
por | for |
||||
|
mais | more |
||||
|
as | the; them |
||||
|
dos | de + os |
||||
|
como | as, like |
||||
|
mas | but |
||||
|
| foi from SER |
||||
|
ao | a + o |
||||
|
ele | he |
||||
|
das | de + as |
||||
|
| tem from TER |
||||
|
à | a + a |
||||
|
seu | his |
||||
|
sua | her |
||||
|
ou | or |
||||
|
| ser from SER |
||||
|
quando | when |
||||
|
muito | much |
||||
|
| há from HAV |
||||
|
nos | em + os; us |
||||
|
já | already, now |
||||
|
| está from EST |
||||
|
eu | I |
||||
|
também | also |
||||
|
só | only, just |
||||
|
pelo | per + o |
||||
|
pela | per + a |
||||
|
até | up to |
||||
|
isso | that |
||||
|
ela | he |
||||
|
entre | between |
||||
|
| era from SER |
||||
|
depois | after |
||||
|
sem | without |
||||
|
mesmo | same |
||||
|
aos | a + os |
||||
|
| ter from TER |
||||
|
seus | his |
||||
|
quem | whom |
||||
|
nas | em + as |
||||
|
me | me |
||||
|
esse | that |
||||
|
eles | they |
||||
|
| estão from EST |
||||
|
você | you |
||||
|
| tinha from TER |
||||
|
| foram from SER |
||||
|
essa | that |
||||
|
num | em + um |
||||
|
nem | nor |
||||
|
suas | her |
||||
|
meu | my |
||||
|
às | a + as |
||||
|
minha | my |
||||
|
| têm from TER |
||||
|
numa | em + uma |
||||
|
pelos | per + os |
||||
|
elas | they |
||||
|
| havia from HAV |
||||
|
| seja from SER |
||||
|
qual | which |
||||
|
| será from SER |
||||
|
nós | we |
||||
|
| tenho from TER |
||||
|
lhe | to him, her |
||||
|
deles | of them |
||||
|
essas | those |
||||
|
esses | those |
||||
|
pelas | per + as |
||||
|
este | this |
||||
|
| fosse from SER |
||||
|
dele | of him |
||||
|
|
||||
|
| other words. There are many contractions such as naquele = em+aquele, |
||||
|
| mo = me+o, but they are rare. |
||||
|
| Indefinite article plural forms are also rare. |
||||
|
|
||||
|
tu | thou |
||||
|
te | thee |
||||
|
vocês | you (plural) |
||||
|
vos | you |
||||
|
lhes | to them |
||||
|
meus | my |
||||
|
minhas |
||||
|
teu | thy |
||||
|
tua |
||||
|
teus |
||||
|
tuas |
||||
|
nosso | our |
||||
|
nossa |
||||
|
nossos |
||||
|
nossas |
||||
|
|
||||
|
dela | of her |
||||
|
delas | of them |
||||
|
|
||||
|
esta | this |
||||
|
estes | these |
||||
|
estas | these |
||||
|
aquele | that |
||||
|
aquela | that |
||||
|
aqueles | those |
||||
|
aquelas | those |
||||
|
isto | this |
||||
|
aquilo | that |
||||
|
|
||||
|
| forms of estar, to be (not including the infinitive): |
||||
|
estou |
||||
|
está |
||||
|
estamos |
||||
|
estão |
||||
|
estive |
||||
|
esteve |
||||
|
estivemos |
||||
|
estiveram |
||||
|
estava |
||||
|
estávamos |
||||
|
estavam |
||||
|
estivera |
||||
|
estivéramos |
||||
|
esteja |
||||
|
estejamos |
||||
|
estejam |
||||
|
estivesse |
||||
|
estivéssemos |
||||
|
estivessem |
||||
|
estiver |
||||
|
estivermos |
||||
|
estiverem |
||||
|
|
||||
|
| forms of haver, to have (not including the infinitive): |
||||
|
hei |
||||
|
há |
||||
|
havemos |
||||
|
hão |
||||
|
houve |
||||
|
houvemos |
||||
|
houveram |
||||
|
houvera |
||||
|
houvéramos |
||||
|
haja |
||||
|
hajamos |
||||
|
hajam |
||||
|
houvesse |
||||
|
houvéssemos |
||||
|
houvessem |
||||
|
houver |
||||
|
houvermos |
||||
|
houverem |
||||
|
houverei |
||||
|
houverá |
||||
|
houveremos |
||||
|
houverão |
||||
|
houveria |
||||
|
houveríamos |
||||
|
houveriam |
||||
|
|
||||
|
| forms of ser, to be (not including the infinitive): |
||||
|
sou |
||||
|
somos |
||||
|
são |
||||
|
era |
||||
|
éramos |
||||
|
eram |
||||
|
fui |
||||
|
foi |
||||
|
fomos |
||||
|
foram |
||||
|
fora |
||||
|
fôramos |
||||
|
seja |
||||
|
sejamos |
||||
|
sejam |
||||
|
fosse |
||||
|
fôssemos |
||||
|
fossem |
||||
|
for |
||||
|
formos |
||||
|
forem |
||||
|
serei |
||||
|
será |
||||
|
seremos |
||||
|
serão |
||||
|
seria |
||||
|
seríamos |
||||
|
seriam |
||||
|
|
||||
|
| forms of ter, to have (not including the infinitive): |
||||
|
tenho |
||||
|
tem |
||||
|
temos |
||||
|
tém |
||||
|
tinha |
||||
|
tínhamos |
||||
|
tinham |
||||
|
tive |
||||
|
teve |
||||
|
tivemos |
||||
|
tiveram |
||||
|
tivera |
||||
|
tivéramos |
||||
|
tenha |
||||
|
tenhamos |
||||
|
tenham |
||||
|
tivesse |
||||
|
tivéssemos |
||||
|
tivessem |
||||
|
tiver |
||||
|
tivermos |
||||
|
tiverem |
||||
|
terei |
||||
|
terá |
||||
|
teremos |
||||
|
terão |
||||
|
teria |
||||
|
teríamos |
||||
|
teriam |
||||
@ -0,0 +1,573 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<!-- |
||||
|
Licensed to the Apache Software Foundation (ASF) under one or more |
||||
|
contributor license agreements. See the NOTICE file distributed with |
||||
|
this work for additional information regarding copyright ownership. |
||||
|
The ASF licenses this file to You under the Apache License, Version 2.0 |
||||
|
(the "License"); you may not use this file except in compliance with |
||||
|
the License. You may obtain a copy of the License at |
||||
|
|
||||
|
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
|
||||
|
Unless required by applicable law or agreed to in writing, software |
||||
|
distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
See the License for the specific language governing permissions and |
||||
|
limitations under the License. |
||||
|
--> |
||||
|
|
||||
|
<!-- |
||||
|
|
||||
|
This example schema is the recommended starting point for users. |
||||
|
It should be kept correct and concise, usable out-of-the-box. |
||||
|
|
||||
|
|
||||
|
For more information, on how to customize this file, please see |
||||
|
http://lucene.apache.org/solr/guide/documents-fields-and-schema-design.html |
||||
|
|
||||
|
PERFORMANCE NOTE: this schema includes many optional features and should not |
||||
|
be used for benchmarking. To improve performance one could |
||||
|
- set stored="false" for all fields possible (esp large fields) when you |
||||
|
only need to search on the field but don't need to return the original |
||||
|
value. |
||||
|
- set indexed="false" if you don't need to search on the field, but only |
||||
|
return the field as a result of searching on other indexed fields. |
||||
|
- remove all unneeded copyField statements |
||||
|
- for best index size and searching performance, set "index" to false |
||||
|
for all general text fields, use copyField to copy them to the |
||||
|
catchall "text" field, and use that for searching. |
||||
|
--> |
||||
|
|
||||
|
<schema name="default-config" version="1.6"> |
||||
|
<!-- attribute "name" is the name of this schema and is only used for display purposes. |
||||
|
version="x.y" is Solr's version number for the schema syntax and |
||||
|
semantics. It should not normally be changed by applications. |
||||
|
|
||||
|
1.0: multiValued attribute did not exist, all fields are multiValued |
||||
|
by nature |
||||
|
1.1: multiValued attribute introduced, false by default |
||||
|
1.2: omitTermFreqAndPositions attribute introduced, true by default |
||||
|
except for text fields. |
||||
|
1.3: removed optional field compress feature |
||||
|
1.4: autoGeneratePhraseQueries attribute introduced to drive QueryParser |
||||
|
behavior when a single string produces multiple tokens. Defaults |
||||
|
to off for version >= 1.4 |
||||
|
1.5: omitNorms defaults to true for primitive field types |
||||
|
(int, float, boolean, string...) |
||||
|
1.6: useDocValuesAsStored defaults to true. |
||||
|
--> |
||||
|
|
||||
|
<!-- Valid attributes for fields: |
||||
|
name: mandatory - the name for the field |
||||
|
type: mandatory - the name of a field type from the |
||||
|
fieldTypes section |
||||
|
indexed: true if this field should be indexed (searchable or sortable) |
||||
|
stored: true if this field should be retrievable |
||||
|
docValues: true if this field should have doc values. Doc Values is |
||||
|
recommended (required, if you are using *Point fields) for faceting, |
||||
|
grouping, sorting and function queries. Doc Values will make the index |
||||
|
faster to load, more NRT-friendly and more memory-efficient. |
||||
|
They are currently only supported by StrField, UUIDField, all |
||||
|
*PointFields, and depending on the field type, they might require |
||||
|
the field to be single-valued, be required or have a default value |
||||
|
(check the documentation of the field type you're interested in for |
||||
|
more information) |
||||
|
multiValued: true if this field may contain multiple values per document |
||||
|
omitNorms: (expert) set to true to omit the norms associated with |
||||
|
this field (this disables length normalization and index-time |
||||
|
boosting for the field, and saves some memory). Only full-text |
||||
|
fields or fields that need an index-time boost need norms. |
||||
|
Norms are omitted for primitive (non-analyzed) types by default. |
||||
|
termVectors: [false] set to true to store the term vector for a |
||||
|
given field. |
||||
|
When using MoreLikeThis, fields used for similarity should be |
||||
|
stored for best performance. |
||||
|
termPositions: Store position information with the term vector. |
||||
|
This will increase storage costs. |
||||
|
termOffsets: Store offset information with the term vector. This |
||||
|
will increase storage costs. |
||||
|
required: The field is required. It will throw an error if the |
||||
|
value does not exist |
||||
|
default: a value that should be used if no value is specified |
||||
|
when adding a document. |
||||
|
--> |
||||
|
|
||||
|
<!-- field names should consist of alphanumeric or underscore characters only and |
||||
|
not start with a digit. This is not currently strictly enforced, |
||||
|
but other field names will not have first class support from all components |
||||
|
and back compatibility is not guaranteed. Names with both leading and |
||||
|
trailing underscores (e.g. _version_) are reserved. |
||||
|
--> |
||||
|
|
||||
|
<!-- In this _default configset, only four fields are pre-declared: |
||||
|
id, _version_, and _text_ and _root_. All other fields will be type guessed and added via the |
||||
|
"add-unknown-fields-to-the-schema" update request processor chain declared in solrconfig.xml. |
||||
|
|
||||
|
Note that many dynamic fields are also defined - you can use them to specify a |
||||
|
field's type via field naming conventions - see below. |
||||
|
|
||||
|
WARNING: The _text_ catch-all field will significantly increase your index size. |
||||
|
If you don't need it, consider removing it and the corresponding copyField directive. |
||||
|
--> |
||||
|
|
||||
|
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> |
||||
|
<!-- docValues are enabled by default for long type so we don't need to index the version field --> |
||||
|
<field name="_version_" type="plong" indexed="false" stored="false"/> |
||||
|
<field name="_root_" type="string" indexed="true" stored="false" docValues="false" /> |
||||
|
<field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/> |
||||
|
|
||||
|
<!-- Django fields --> |
||||
|
<field name="django_ct" type="string" indexed="true" stored="true" multiValued="false"/> |
||||
|
<field name="django_id" type="string" indexed="true" stored="true" multiValued="false"/> |
||||
|
<field name="text" type="text_pt" indexed="true" stored="true" multiValued="false" /> |
||||
|
|
||||
|
<!-- This can be enabled, in case the client does not know what fields may be searched. It isn't enabled by default |
||||
|
because it's very expensive to index everything twice. --> |
||||
|
<!-- <copyField source="*" dest="_text_"/> --> |
||||
|
|
||||
|
<!-- Dynamic field definitions allow using convention over configuration |
||||
|
for fields via the specification of patterns to match field names. |
||||
|
EXAMPLE: name="*_i" will match any field ending in _i (like myid_i, z_i) |
||||
|
RESTRICTION: the glob-like pattern in the name attribute must have a "*" only at the start or the end. --> |
||||
|
|
||||
|
<dynamicField name="*_i" type="pint" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_is" type="pints" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_s" type="string" indexed="true" stored="true" /> |
||||
|
<dynamicField name="*_ss" type="strings" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_l" type="plong" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_ls" type="plongs" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_t" type="text_general" indexed="true" stored="true" multiValued="false"/> |
||||
|
<dynamicField name="*_txt" type="text_general" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_bs" type="booleans" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_f" type="pfloat" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_fs" type="pfloats" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_d" type="pdouble" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_ds" type="pdoubles" indexed="true" stored="true"/> |
||||
|
|
||||
|
<!-- Type used for data-driven schema, to add a string copy for each text field --> |
||||
|
<dynamicField name="*_str" type="strings" stored="false" docValues="true" indexed="false" /> |
||||
|
|
||||
|
<dynamicField name="*_dt" type="pdate" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_dts" type="pdate" indexed="true" stored="true" multiValued="true"/> |
||||
|
<dynamicField name="*_p" type="location" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_srpt" type="location_rpt" indexed="true" stored="true"/> |
||||
|
|
||||
|
<!-- payloaded dynamic fields --> |
||||
|
<dynamicField name="*_dpf" type="delimited_payloads_float" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_dpi" type="delimited_payloads_int" indexed="true" stored="true"/> |
||||
|
<dynamicField name="*_dps" type="delimited_payloads_string" indexed="true" stored="true"/> |
||||
|
|
||||
|
<dynamicField name="attr_*" type="text_general" indexed="true" stored="true" multiValued="true"/> |
||||
|
|
||||
|
<!-- Field to use to determine and enforce document uniqueness. |
||||
|
Unless this field is marked with required="false", it will be a required field |
||||
|
--> |
||||
|
<uniqueKey>id</uniqueKey> |
||||
|
|
||||
|
<!-- copyField commands copy one field to another at the time a document |
||||
|
is added to the index. It's used either to index the same field differently, |
||||
|
or to add multiple fields to the same field for easier/faster searching. |
||||
|
|
||||
|
<copyField source="sourceFieldName" dest="destinationFieldName"/> |
||||
|
--> |
||||
|
|
||||
|
<!-- field type definitions. The "name" attribute is |
||||
|
just a label to be used by field definitions. The "class" |
||||
|
attribute and any other attributes determine the real |
||||
|
behavior of the fieldType. |
||||
|
Class names starting with "solr" refer to java classes in a |
||||
|
standard package such as org.apache.solr.analysis |
||||
|
--> |
||||
|
|
||||
|
<!-- sortMissingLast and sortMissingFirst attributes are optional attributes are |
||||
|
currently supported on types that are sorted internally as strings |
||||
|
and on numeric types. |
||||
|
This includes "string", "boolean", "pint", "pfloat", "plong", "pdate", "pdouble". |
||||
|
- If sortMissingLast="true", then a sort on this field will cause documents |
||||
|
without the field to come after documents with the field, |
||||
|
regardless of the requested sort order (asc or desc). |
||||
|
- If sortMissingFirst="true", then a sort on this field will cause documents |
||||
|
without the field to come before documents with the field, |
||||
|
regardless of the requested sort order. |
||||
|
- If sortMissingLast="false" and sortMissingFirst="false" (the default), |
||||
|
then default lucene sorting will be used which places docs without the |
||||
|
field first in an ascending sort and last in a descending sort. |
||||
|
--> |
||||
|
|
||||
|
<!-- The StrField type is not analyzed, but indexed/stored verbatim. --> |
||||
|
<fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true" /> |
||||
|
<fieldType name="strings" class="solr.StrField" sortMissingLast="true" multiValued="true" docValues="true" /> |
||||
|
|
||||
|
<!-- boolean type: "true" or "false" --> |
||||
|
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/> |
||||
|
<fieldType name="booleans" class="solr.BoolField" sortMissingLast="true" multiValued="true"/> |
||||
|
|
||||
|
<!-- |
||||
|
Numeric field types that index values using KD-trees. |
||||
|
Point fields don't support FieldCache, so they must have docValues="true" if needed for sorting, faceting, functions, etc. |
||||
|
--> |
||||
|
<fieldType name="pint" class="solr.IntPointField" docValues="true"/> |
||||
|
<fieldType name="pfloat" class="solr.FloatPointField" docValues="true"/> |
||||
|
<fieldType name="plong" class="solr.LongPointField" docValues="true"/> |
||||
|
<fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/> |
||||
|
|
||||
|
<fieldType name="pints" class="solr.IntPointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="pfloats" class="solr.FloatPointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="plongs" class="solr.LongPointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="pdoubles" class="solr.DoublePointField" docValues="true" multiValued="true"/> |
||||
|
|
||||
|
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and |
||||
|
is a more restricted form of the canonical representation of dateTime |
||||
|
http://www.w3.org/TR/xmlschema-2/#dateTime |
||||
|
The trailing "Z" designates UTC time and is mandatory. |
||||
|
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z |
||||
|
All other components are mandatory. |
||||
|
|
||||
|
Expressions can also be used to denote calculations that should be |
||||
|
performed relative to "NOW" to determine the value, ie... |
||||
|
|
||||
|
NOW/HOUR |
||||
|
... Round to the start of the current hour |
||||
|
NOW-1DAY |
||||
|
... Exactly 1 day prior to now |
||||
|
NOW/DAY+6MONTHS+3DAYS |
||||
|
... 6 months and 3 days in the future from the start of |
||||
|
the current day |
||||
|
|
||||
|
--> |
||||
|
<!-- KD-tree versions of date fields --> |
||||
|
<fieldType name="pdate" class="solr.DatePointField" docValues="true"/> |
||||
|
<fieldType name="pdates" class="solr.DatePointField" docValues="true" multiValued="true"/> |
||||
|
|
||||
|
<!--Binary data type. The data should be sent/retrieved in as Base64 encoded Strings --> |
||||
|
<fieldType name="binary" class="solr.BinaryField"/> |
||||
|
|
||||
|
<!-- solr.TextField allows the specification of custom text analyzers |
||||
|
specified as a tokenizer and a list of token filters. Different |
||||
|
analyzers may be specified for indexing and querying. |
||||
|
|
||||
|
The optional positionIncrementGap puts space between multiple fields of |
||||
|
this type on the same document, with the purpose of preventing false phrase |
||||
|
matching across fields. |
||||
|
|
||||
|
For more info on customizing your analyzer chain, please see |
||||
|
http://lucene.apache.org/solr/guide/understanding-analyzers-tokenizers-and-filters.html#understanding-analyzers-tokenizers-and-filters |
||||
|
--> |
||||
|
|
||||
|
<!-- One can also specify an existing Analyzer class that has a |
||||
|
default constructor via the class attribute on the analyzer element. |
||||
|
Example: |
||||
|
<fieldType name="text_greek" class="solr.TextField"> |
||||
|
<analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/> |
||||
|
</fieldType> |
||||
|
--> |
||||
|
|
||||
|
<!-- A text field that only splits on whitespace for exact matching of words --> |
||||
|
<dynamicField name="*_ws" type="text_ws" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- A general text field that has reasonable, generic |
||||
|
cross-language defaults: it tokenizes with StandardTokenizer, |
||||
|
removes stop words from case-insensitive "stopwords.txt" |
||||
|
(empty by default), and down cases. At query time only, it |
||||
|
also applies synonyms. |
||||
|
--> |
||||
|
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<!-- in this example, we will only use synonyms at query time |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> |
||||
|
<filter class="solr.FlattenGraphFilterFactory"/> |
||||
|
--> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
|
||||
|
<!-- SortableTextField generaly functions exactly like TextField, |
||||
|
except that it supports, and by default uses, docValues for sorting (or faceting) |
||||
|
on the first 1024 characters of the original field values (which is configurable). |
||||
|
|
||||
|
This makes it a bit more useful then TextField in many situations, but the trade-off |
||||
|
is that it takes up more space on disk; which is why it's not used in place of TextField |
||||
|
for every fieldType in this _default schema. |
||||
|
--> |
||||
|
<dynamicField name="*_t_sort" type="text_gen_sort" indexed="true" stored="true" multiValued="false"/> |
||||
|
<dynamicField name="*_txt_sort" type="text_gen_sort" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_gen_sort" class="solr.SortableTextField" positionIncrementGap="100" multiValued="true"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- A text field with defaults appropriate for English: it tokenizes with StandardTokenizer, |
||||
|
removes English stop words (lang/stopwords_en.txt), down cases, protects words from protwords.txt, and |
||||
|
finally applies Porter's stemming. The query time analyzer also applies synonyms from synonyms.txt. --> |
||||
|
<dynamicField name="*_txt_en" type="text_en" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<!-- in this example, we will only use synonyms at query time |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> |
||||
|
<filter class="solr.FlattenGraphFilterFactory"/> |
||||
|
--> |
||||
|
<!-- Case insensitive stop word removal. |
||||
|
--> |
||||
|
<filter class="solr.StopFilterFactory" |
||||
|
ignoreCase="true" |
||||
|
words="lang/stopwords_en.txt" |
||||
|
/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.EnglishPossessiveFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory: |
||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
||||
|
--> |
||||
|
<filter class="solr.PorterStemFilterFactory"/> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.StopFilterFactory" |
||||
|
ignoreCase="true" |
||||
|
words="lang/stopwords_en.txt" |
||||
|
/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.EnglishPossessiveFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory: |
||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
||||
|
--> |
||||
|
<filter class="solr.PorterStemFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- A text field with defaults appropriate for English, plus |
||||
|
aggressive word-splitting and autophrase features enabled. |
||||
|
This field is just like text_en, except it adds |
||||
|
WordDelimiterGraphFilter to enable splitting and matching of |
||||
|
words on case-change, alpha numeric boundaries, and |
||||
|
non-alphanumeric chars. This means certain compound word |
||||
|
cases will work, for example query "wi fi" will match |
||||
|
document "WiFi" or "wi-fi". |
||||
|
--> |
||||
|
<dynamicField name="*_txt_en_split" type="text_en_splitting" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<!-- in this example, we will only use synonyms at query time |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> |
||||
|
--> |
||||
|
<!-- Case insensitive stop word removal. |
||||
|
--> |
||||
|
<filter class="solr.StopFilterFactory" |
||||
|
ignoreCase="true" |
||||
|
words="lang/stopwords_en.txt" |
||||
|
/> |
||||
|
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<filter class="solr.PorterStemFilterFactory"/> |
||||
|
<filter class="solr.FlattenGraphFilterFactory" /> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.StopFilterFactory" |
||||
|
ignoreCase="true" |
||||
|
words="lang/stopwords_en.txt" |
||||
|
/> |
||||
|
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<filter class="solr.PorterStemFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- Less flexible matching, but less false matches. Probably not ideal for product names, |
||||
|
but may be good for SKUs. Can insert dashes in the wrong place and still match. --> |
||||
|
<dynamicField name="*_txt_en_split_tight" type="text_en_splitting_tight" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/> |
||||
|
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
||||
|
<!-- this filter can remove any duplicate tokens that appear at the same position - sometimes |
||||
|
possible with WordDelimiterGraphFilter in conjuncton with stemming. --> |
||||
|
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/> |
||||
|
<filter class="solr.FlattenGraphFilterFactory" /> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/> |
||||
|
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
||||
|
<!-- this filter can remove any duplicate tokens that appear at the same position - sometimes |
||||
|
possible with WordDelimiterGraphFilter in conjuncton with stemming. --> |
||||
|
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- Just like text_general except it reverses the characters of |
||||
|
each token, to enable more efficient leading wildcard queries. |
||||
|
--> |
||||
|
<dynamicField name="*_txt_rev" type="text_general_rev" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" |
||||
|
maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<dynamicField name="*_phon_en" type="phonetic_en" indexed="true" stored="true"/> |
||||
|
<fieldType name="phonetic_en" stored="false" indexed="true" class="solr.TextField" > |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- lowercases the entire field value, keeping it as a single token. --> |
||||
|
<dynamicField name="*_s_lower" type="lowercase" indexed="true" stored="true"/> |
||||
|
<fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.KeywordTokenizerFactory"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory" /> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- |
||||
|
Example of using PathHierarchyTokenizerFactory at index time, so |
||||
|
queries for paths match documents at that path, or in descendent paths |
||||
|
--> |
||||
|
<dynamicField name="*_descendent_path" type="descendent_path" indexed="true" stored="true"/> |
||||
|
<fieldType name="descendent_path" class="solr.TextField"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" /> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.KeywordTokenizerFactory" /> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- |
||||
|
Example of using PathHierarchyTokenizerFactory at query time, so |
||||
|
queries for paths match documents at that path, or in ancestor paths |
||||
|
--> |
||||
|
<dynamicField name="*_ancestor_path" type="ancestor_path" indexed="true" stored="true"/> |
||||
|
<fieldType name="ancestor_path" class="solr.TextField"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.KeywordTokenizerFactory" /> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" /> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- This point type indexes the coordinates as separate fields (subFields) |
||||
|
If subFieldType is defined, it references a type, and a dynamic field |
||||
|
definition is created matching *___<typename>. Alternately, if |
||||
|
subFieldSuffix is defined, that is used to create the subFields. |
||||
|
Example: if subFieldType="double", then the coordinates would be |
||||
|
indexed in fields myloc_0___double,myloc_1___double. |
||||
|
Example: if subFieldSuffix="_d" then the coordinates would be indexed |
||||
|
in fields myloc_0_d,myloc_1_d |
||||
|
The subFields are an implementation detail of the fieldType, and end |
||||
|
users normally should not need to know about them. |
||||
|
--> |
||||
|
<dynamicField name="*_point" type="point" indexed="true" stored="true"/> |
||||
|
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/> |
||||
|
|
||||
|
<!-- A specialized field for geospatial search filters and distance sorting. --> |
||||
|
<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/> |
||||
|
|
||||
|
<!-- A geospatial field type that supports multiValued and polygon shapes. |
||||
|
For more information about this and other spatial fields see: |
||||
|
http://lucene.apache.org/solr/guide/spatial-search.html |
||||
|
--> |
||||
|
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" |
||||
|
geo="true" distErrPct="0.025" maxDistErr="0.001" distanceUnits="kilometers" /> |
||||
|
|
||||
|
<!-- Payloaded field types --> |
||||
|
<fieldType name="delimited_payloads_float" stored="false" indexed="true" class="solr.TextField"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
<fieldType name="delimited_payloads_int" stored="false" indexed="true" class="solr.TextField"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="integer"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
<fieldType name="delimited_payloads_string" stored="false" indexed="true" class="solr.TextField"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
<filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="identity"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- Portuguese --> |
||||
|
<dynamicField name="*_txt_pt" type="text_pt" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer> |
||||
|
<charFilter class="solr.HTMLStripCharFilterFactory"/> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_pt.txt" format="snowball" /> |
||||
|
<filter class="solr.PortugueseLightStemFilterFactory"/> |
||||
|
<!-- less aggressive: <filter class="solr.PortugueseMinimalStemFilterFactory"/> --> |
||||
|
<!-- more aggressive: <filter class="solr.SnowballPorterFilterFactory" language="Portuguese"/> --> |
||||
|
<!-- most aggressive: <filter class="solr.PortugueseStemFilterFactory"/> --> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- Similarity is the scoring routine for each document vs. a query. |
||||
|
A custom Similarity or SimilarityFactory may be specified here, but |
||||
|
the default is fine for most applications. |
||||
|
For more info: http://lucene.apache.org/solr/guide/other-schema-elements.html#OtherSchemaElements-Similarity |
||||
|
--> |
||||
|
<!-- |
||||
|
<similarity class="com.example.solr.CustomSimilarityFactory"> |
||||
|
<str name="paramkey">param value</str> |
||||
|
</similarity> |
||||
|
--> |
||||
|
|
||||
|
</schema> |
||||
@ -0,0 +1,20 @@ |
|||||
|
{"params":{ |
||||
|
"query":{ |
||||
|
"defType":"edismax", |
||||
|
"q.alt":"*:*", |
||||
|
"rows":"10", |
||||
|
"fl":"*,score", |
||||
|
"":{"v":0} |
||||
|
}, |
||||
|
"facets":{ |
||||
|
"facet":"on", |
||||
|
"facet.mincount": "1", |
||||
|
"":{"v":0} |
||||
|
}, |
||||
|
"velocity":{ |
||||
|
"wt": "velocity", |
||||
|
"v.template":"browse", |
||||
|
"v.layout": "layout", |
||||
|
"":{"v":0} |
||||
|
} |
||||
|
}} |
||||
@ -0,0 +1,21 @@ |
|||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0 |
||||
|
# (the "License"); you may not use this file except in compliance with |
||||
|
# the License. You may obtain a copy of the License at |
||||
|
# |
||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
# |
||||
|
# Unless required by applicable law or agreed to in writing, software |
||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
# See the License for the specific language governing permissions and |
||||
|
# limitations under the License. |
||||
|
|
||||
|
#----------------------------------------------------------------------- |
||||
|
# Use a protected word file to protect against the stemmer reducing two |
||||
|
# unrelated words to the same base word. |
||||
|
|
||||
|
# Some non-words that normally won't be encountered, |
||||
|
# just to test that they won't be stemmed. |
||||
|
dontstems |
||||
|
zwhacky |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,165 @@ |
|||||
|
<?xml version="1.0" ?> |
||||
|
<!-- |
||||
|
Licensed to the Apache Software Foundation (ASF) under one or more |
||||
|
contributor license agreements. See the NOTICE file distributed with |
||||
|
this work for additional information regarding copyright ownership. |
||||
|
The ASF licenses this file to You under the Apache License, Version 2.0 |
||||
|
(the "License"); you may not use this file except in compliance with |
||||
|
the License. You may obtain a copy of the License at |
||||
|
|
||||
|
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
|
||||
|
Unless required by applicable law or agreed to in writing, software |
||||
|
distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
See the License for the specific language governing permissions and |
||||
|
limitations under the License. |
||||
|
--> |
||||
|
|
||||
|
<schema name="default" version="1.6"> |
||||
|
<types> |
||||
|
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> |
||||
|
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/> |
||||
|
<fieldType name="booleans" class="solr.BoolField" sortMissingLast="true" multiValued="true"/> |
||||
|
<fieldtype name="binary" class="solr.BinaryField"/> |
||||
|
|
||||
|
<!-- Numeric field types that manipulate the value into |
||||
|
a string value that isn't human-readable in its internal form, |
||||
|
but with a lexicographic ordering the same as the numeric ordering, |
||||
|
so that range queries work correctly. --> |
||||
|
<fieldType name="pint" class="solr.IntPointField" docValues="true" /> |
||||
|
<fieldType name="pfloat" class="solr.FloatPointField" docValues="true" /> |
||||
|
<fieldType name="plong" class="solr.LongPointField" docValues="true" /> |
||||
|
<fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/> |
||||
|
|
||||
|
|
||||
|
<fieldType name="pdate" class="solr.DatePointField" docValues="true" /> |
||||
|
<!-- A Trie based date field ifor faster date range queries and date faceting. --> |
||||
|
|
||||
|
<fieldType name="pints" class="solr.IntPointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="pfloats" class="solr.FloatPointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="plongs" class="solr.LongPointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="pdoubles" class="solr.DoublePointField" docValues="true" multiValued="true"/> |
||||
|
<fieldType name="pdates" class="solr.DatePointField" docValues="true" multiValued="true"/> |
||||
|
|
||||
|
|
||||
|
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/> |
||||
|
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/> |
||||
|
<fieldtype name="geohash" class="solr.GeoHashField"/> |
||||
|
|
||||
|
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<!-- in this example, we will only use synonyms at query time |
||||
|
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> |
||||
|
--> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
||||
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<!-- Portuguese --> |
||||
|
<dynamicField name="*_txt_pt" type="text_pt" indexed="true" stored="true"/> |
||||
|
<fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_pt.txt" format="snowball" /> |
||||
|
<filter class="solr.PortugueseLightStemFilterFactory"/> |
||||
|
<!-- less aggressive: <filter class="solr.PortugueseMinimalStemFilterFactory"/> --> |
||||
|
<!-- more aggressive: <filter class="solr.SnowballPorterFilterFactory" language="Portuguese"/> --> |
||||
|
<!-- most aggressive: <filter class="solr.PortugueseStemFilterFactory"/> --> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
|
||||
|
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.StopFilterFactory" |
||||
|
ignoreCase="true" |
||||
|
words="lang/stopwords_en.txt" |
||||
|
/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.EnglishPossessiveFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory: |
||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
||||
|
--> |
||||
|
<filter class="solr.PorterStemFilterFactory"/> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.StandardTokenizerFactory"/> |
||||
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
||||
|
<filter class="solr.StopFilterFactory" |
||||
|
ignoreCase="true" |
||||
|
words="lang/stopwords_en.txt" |
||||
|
/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.EnglishPossessiveFilterFactory"/> |
||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
||||
|
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory: |
||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
||||
|
--> |
||||
|
<filter class="solr.PorterStemFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100"> |
||||
|
<analyzer> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<fieldType name="ngram" class="solr.TextField" > |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.KeywordTokenizerFactory"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="15" /> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.KeywordTokenizerFactory"/> |
||||
|
<filter class="solr.LowerCaseFilterFactory"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
|
||||
|
<fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1"> |
||||
|
<analyzer type="index"> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory" /> |
||||
|
<filter class="solr.LowerCaseFilterFactory" /> |
||||
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> |
||||
|
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" /> |
||||
|
</analyzer> |
||||
|
<analyzer type="query"> |
||||
|
<tokenizer class="solr.WhitespaceTokenizerFactory" /> |
||||
|
<filter class="solr.LowerCaseFilterFactory" /> |
||||
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> |
||||
|
</analyzer> |
||||
|
</fieldType> |
||||
|
</types> |
||||
|
|
||||
|
<fields> |
||||
|
<!-- general --> |
||||
|
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/> |
||||
|
<field name="django_ct" type="string" indexed="true" stored="true" multiValued="false"/> |
||||
|
<field name="django_id" type="string" indexed="true" stored="true" multiValued="false"/> |
||||
|
<field name="_version_" type="plong" indexed="true" stored ="true"/> |
||||
|
<field name="text" type="text_pt" indexed="true" stored="true" multiValued="false" /> |
||||
|
|
||||
|
</fields> |
||||
|
|
||||
|
<!-- field to use to determine and enforce document uniqueness. --> |
||||
|
<uniqueKey>id</uniqueKey> |
||||
|
|
||||
|
<!-- field for the QueryParser to use when an explicit fieldname is absent --> |
||||
|
<df>text</df> |
||||
|
|
||||
|
<!-- SolrQueryParser configuration: defaultOperator="AND|OR" --> |
||||
|
<solrQueryParser q.op="AND"/> |
||||
|
</schema> |
||||
File diff suppressed because it is too large
@ -0,0 +1,14 @@ |
|||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more |
||||
|
# contributor license agreements. See the NOTICE file distributed with |
||||
|
# this work for additional information regarding copyright ownership. |
||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0 |
||||
|
# (the "License"); you may not use this file except in compliance with |
||||
|
# the License. You may obtain a copy of the License at |
||||
|
# |
||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
# |
||||
|
# Unless required by applicable law or agreed to in writing, software |
||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
# See the License for the specific language governing permissions and |
||||
|
# limitations under the License. |
||||
@ -0,0 +1,29 @@ |
|||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0 |
||||
|
# (the "License"); you may not use this file except in compliance with |
||||
|
# the License. You may obtain a copy of the License at |
||||
|
# |
||||
|
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
# |
||||
|
# Unless required by applicable law or agreed to in writing, software |
||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
# See the License for the specific language governing permissions and |
||||
|
# limitations under the License. |
||||
|
|
||||
|
#----------------------------------------------------------------------- |
||||
|
#some test synonym mappings unlikely to appear in real input text |
||||
|
aaafoo => aaabar |
||||
|
bbbfoo => bbbfoo bbbbar |
||||
|
cccfoo => cccbar cccbaz |
||||
|
fooaaa,baraaa,bazaaa |
||||
|
|
||||
|
# Some synonym groups specific to this example |
||||
|
GB,gib,gigabyte,gigabytes |
||||
|
MB,mib,megabyte,megabytes |
||||
|
Television, Televisions, TV, TVs |
||||
|
#notice we use "gib" instead of "GiB" so any WordDelimiterGraphFilter coming |
||||
|
#after us won't split it into two words. |
||||
|
|
||||
|
# Synonym mappings can be used for spelling correction too |
||||
|
pixima => pixma |
||||
|
|
||||
@ -0,0 +1,155 @@ |
|||||
|
|
||||
|
import requests |
||||
|
import subprocess |
||||
|
import sys |
||||
|
import argparse |
||||
|
|
||||
|
|
||||
|
class SolrClient: |
||||
|
|
||||
|
LIST_CONFIGSETS = "{}/solr/admin/configs?action=LIST&omitHeader=true&wt=json" |
||||
|
UPLOAD_CONFIGSET = "{}/solr/admin/configs?action=UPLOAD&name={}&wt=json" |
||||
|
LIST_COLLECTIONS = "{}/solr/admin/collections?action=LIST&wt=json" |
||||
|
STATUS_COLLECTION = "{}/solr/admin/collections?action=CLUSTERSTATUS&collection={}&wt=json" |
||||
|
STATUS_CORE = "{}/admin/cores?action=STATUS&name={}" |
||||
|
EXISTS_COLLECTION = "{}/solr/{}/admin/ping?wt=json" |
||||
|
OPTIMIZE_COLLECTION = "{}/solr/{}/update?optimize=true&wt=json" |
||||
|
CREATE_COLLECTION = "{}/solr/admin/collections?action=CREATE&name={}&collection.configName={}&numShards={}&replicationFactor={}&maxShardsPerNode={}&wt=json" |
||||
|
DELETE_COLLECTION = "{}/solr/admin/collections?action=DELETE&name={}&wt=json" |
||||
|
DELETE_DATA = "{}/solr/{}/update?commitWithin=1000&overwrite=true&wt=json" |
||||
|
QUERY_DATA = "{}/solr/{}/select?q=*:*" |
||||
|
|
||||
|
CONFIGSET_NAME = "sapl_configset" |
||||
|
|
||||
|
def __init__(self, url): |
||||
|
self.url = url |
||||
|
|
||||
|
def get_num_docs(self, collection_name): |
||||
|
final_url = self.QUERY_DATA.format(self.url, collection_name) |
||||
|
res = requests.get(final_url) |
||||
|
dic = res.json() |
||||
|
num_docs = dic["response"]["numFound"] |
||||
|
return num_docs |
||||
|
|
||||
|
def list_collections(self): |
||||
|
req_url = self.LIST_COLLECTIONS.format(self.url) |
||||
|
res = requests.get(req_url) |
||||
|
dic = res.json() |
||||
|
return dic['collections'] |
||||
|
|
||||
|
def exists_collection(self, collection_name): |
||||
|
collections = self.list_collections() |
||||
|
return True if collection_name in collections else False |
||||
|
|
||||
|
def maybe_upload_configset(self, force=False): |
||||
|
req_url = self.LIST_CONFIGSETS.format(self.url) |
||||
|
res = requests.get(req_url) |
||||
|
dic = res.json() |
||||
|
configsets = dic['configSets'] |
||||
|
# UPLOAD configset |
||||
|
if not self.CONFIGSET_NAME in configsets or force: |
||||
|
files = {'file': ('saplconfigset.zip', |
||||
|
open('./solr/sapl_configset/conf/saplconfigset.zip', |
||||
|
'rb'), |
||||
|
'application/octet-stream', |
||||
|
{'Expires': '0'})} |
||||
|
|
||||
|
req_url = self.UPLOAD_CONFIGSET.format(self.url, self.CONFIGSET_NAME) |
||||
|
|
||||
|
resp = requests.post(req_url, files=files) |
||||
|
print(resp.content) |
||||
|
else: |
||||
|
print('O %s já presente no servidor, NÃO enviando.' % self.CONFIGSET_NAME) |
||||
|
|
||||
|
def create_collection(self, collection_name, shards=1, replication_factor=1, max_shards_per_node=1): |
||||
|
self.maybe_upload_configset() |
||||
|
req_url = self.CREATE_COLLECTION.format(self.url, |
||||
|
collection_name, |
||||
|
self.CONFIGSET_NAME, |
||||
|
shards, |
||||
|
replication_factor, |
||||
|
max_shards_per_node) |
||||
|
res = requests.post(req_url) |
||||
|
if res.ok: |
||||
|
print("Collection '%s' created succesfully" % collection_name) |
||||
|
else: |
||||
|
print("Error creating collection '%s'" % collection_name) |
||||
|
as_json = res.json() |
||||
|
print("Error %s: %s" % (res.status_code, as_json['error']['msg'])) |
||||
|
return False |
||||
|
return True |
||||
|
|
||||
|
def delete_collection(self, collection_name): |
||||
|
if collection_name == '*': |
||||
|
collections = self.list_collections() |
||||
|
else: |
||||
|
collections = [collection_name] |
||||
|
|
||||
|
for c in collections: |
||||
|
req_url = self.DELETE_COLLECTION.format(self.url, c) |
||||
|
res = requests.post(req_url) |
||||
|
if not res.ok: |
||||
|
print("Error deleting collection '%s'", c) |
||||
|
print("Code {}: {}".format(res.status_code, res.text)) |
||||
|
else: |
||||
|
print("Collection '%s' deleted successfully!" % c) |
||||
|
|
||||
|
def delete_index_data(self, collection_name): |
||||
|
req_url = self.DELETE_DATA.format(self.url, collection_name) |
||||
|
res = requests.post(req_url, |
||||
|
data='<delete><query>*:*</query></delete>', |
||||
|
headers={'Content-Type': 'application/xml'}) |
||||
|
if not res.ok: |
||||
|
print("Error deleting index for collection '%s'", collection_name) |
||||
|
print("Code {}: {}".format(res.status_code, res.text)) |
||||
|
else: |
||||
|
print("Collection '%s' data deleted successfully!" % collection_name) |
||||
|
|
||||
|
num_docs = self.get_num_docs(collection_name) |
||||
|
print("Num docs: %s" % num_docs) |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
|
||||
|
parser = argparse.ArgumentParser(description='Cria uma collection no Solr') |
||||
|
|
||||
|
# required arguments |
||||
|
parser.add_argument('-u', type=str, metavar='URL', nargs=1, dest='url', |
||||
|
required=True, help='Endereço do servidor Solr na forma http(s)://<address>[:port]') |
||||
|
parser.add_argument('-c', type=str, metavar='COLLECTION', dest='collection', nargs=1, |
||||
|
required=True, help='Collection Solr a ser criada') |
||||
|
|
||||
|
# optional arguments |
||||
|
parser.add_argument('-s', type=int, dest='shards', nargs='?', |
||||
|
help='Number of shards (default=1)', default=1) |
||||
|
parser.add_argument('-rf', type=int, dest='replication_factor', nargs='?', |
||||
|
help='Replication factor (default=1)', default=1) |
||||
|
parser.add_argument('-ms', type=int, dest='max_shards_per_node', nargs='?', |
||||
|
help='Max shards per node (default=1)', default=1) |
||||
|
|
||||
|
try: |
||||
|
args = parser.parse_args() |
||||
|
except IOError as msg: |
||||
|
parser.error(str(msg)) |
||||
|
sys.exit(-1) |
||||
|
|
||||
|
url = args.url.pop() |
||||
|
collection = args.collection.pop() |
||||
|
|
||||
|
client = SolrClient(url=url) |
||||
|
|
||||
|
if not client.exists_collection(collection): |
||||
|
print("Collection '%s' doesn't exists. Creating a new one..." % collection) |
||||
|
created = client.create_collection(collection, |
||||
|
shards=args.shards, |
||||
|
replication_factor=args.replication_factor, |
||||
|
max_shards_per_node=args.max_shards_per_node) |
||||
|
if not created: |
||||
|
sys.exit(-1) |
||||
|
else: |
||||
|
print("Collection '%s' exists." % collection) |
||||
|
|
||||
|
num_docs = client.get_num_docs(collection) |
||||
|
if num_docs == 0: |
||||
|
print("Performing a full reindex of '%s' collection..." % collection) |
||||
|
p = subprocess.call(["python3", "manage.py", "rebuild_index", "--noinput"]) |
||||
Loading…
Reference in new issue