Mohu omezit vyhledávání na konkrétní časové období?

hlasů
0

Chci se dostat všechny výsledky po určité datum, můžete to udělat s Solr?

( Http://lucene.apache.org/solr/ )

Právě teď jsou výsledky vyhledávání kompletní sadu výsledků, chci filtrovat na cokoliv po určitém datu.

Aktualizujte To se dosud pracuje pro mě.

My se vrátil doc:

se snaží:

http://www.example.com:8085/solr/select/?q=test&version=2.2&start=0&rows=10&indent=on&indexed_at:2009-08-27T13%3A15%3A27.73Z

<doc>
<str name=apptype>Forum</str>
<str name=collapse>forum:334</str>
<str name=content> testing </str>
<str name=contentid>357</str>
<str name=createdby>some_user</str>
<str name=date>20090819</str>
<str name=dummy_id>1</str>
<int name=group>5</int>
<date name=indexed_at>2009-08-25T16:48:45.121Z</date>
<str name=rating>000.0</str>
<str name=rawcontent><p>testing</p></str>
<arr name=roles>
<str>1</str>
<str>2</str>
<str>3</str>
<str>4</str>
<str>14</str>
<str>15</str>
<str>16</str>
</arr>
<int name=section>79</int>
<int name=thread>334</int>
<str name=title>testing</str>
<str name=titlesort>testing</str>
<str name=type>forum</str>
<str name=unique_id>
BLAHBLAH|357
</str>
<str name=url>/blahey/f/79/p/334/357.aspx#357</str>
<str name=user>21625</str>
<str name=username>some_user</str>
</doc>
Položena 27/08/2009 v 00:04
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
4

Ano, mohu předpokládat, že máte pole s hodnotou data chcete filtrovat. Pak děláte

yourdatefield:[2008-08-27T23:59:59.999Z TO *] 

Vzorek url bude localhost: 8983 / Solr / zvolit q = yourdatefield? [2008-08-27T23:59:59.999Z TO *]

Chcete-li odeslat data roli jako dotaz, takže v hodnotě q jako

localhost:8983/solr/select/q=(text:test+AND+indexed_at:`[2009-08-27T13:A15:A27.73Z TO *`])

Takže celý dotaz je obsažen uvnitř q QueryString paramter.

formát data je ISO 8601.

Odpovězeno 27/08/2009 v 00:16
zdroj uživatelem

hlasů
2

Můžete přidat automatické časové razítko k dokumentům, když jsou indexovány pomocí:

<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>

V Schema.xml. Výchozí schéma je to v komentářích, takže pokud jste zkopírovali výchozí, stačí ji vložte.

Dalo by se dodat, že i použití Olle doporučená hledaný řetězec najít dokumenty indexované po určitém datu. (Musel byste aktualizovat yourdatefield s časovým razítkem nebo co zadáte název pole v souboru XML.

Odpovězeno 27/08/2009 v 00:34
zdroj uživatelem

hlasů
0

Budete muset vytvořit dotaz, který porovnává data, zde je syntaxe pro dotazy: http://wiki.apache.org/solr/SolrQuerySyntax

A tady je, jak si můžete porovnávat data v dotazu: http://lucene.apache.org/solr/api/org/apache/solr/util/DateMathParser.html

Odpovězeno 27/08/2009 v 00:22
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more