Ho tre indici di tipo alimentare "italiano", "spagnolo", "americano". Quando l'utente cerca "Cheese", i documenti da "Italian" sembrano venire in cima. È possibile "aumentare" i risultati se dovessi dare la preferenza a dire "spagnolo"? (Dovrei comunque ottenere risultati per l'italiano, ma sulla base di alcuni valori numerici di boost per il tipo di indice "spagnolo", l'ordinamento dei documenti restituiti nei risultati dà la preferenza all'indice "spagnolo". È possibile in input dell'utente lucene e/o query ES? Se sì, come?Come aumentare la ricerca in base al tipo di indice in elasticsearch o lucene?
risposta
aggiungere una query termine con una spinta sia per il campo _type o _index (o entrambi).
Attualmente utilizzando una query stringa, è possibile utilizzarlo con una query di termini? – Rolando
combinali con un bool –
Non trovi alcun modo per aumentare _type nel documento ufficiale, potresti darmi un campione o un link? http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html – navins
per query tempo aumentando, le query (es. query string) in generale avere un attributo boost
che è possibile impostare. In alternativa, è possibile racchiudere query in un custom boost factor. Probabilmente preferirei il primo, di solito.
Utilizzare un script_score come parte della query punteggio funzione di:
function_score: {
script_score: {
script: "doc['_type'].value == '<your _type>' ? _score * <boost_factor> : _score"
}
}
Ho usato "script": "doc ['_ tipo']. valore == '35 '? _score * 2: _score "', risulta essere 'Query Failed [Impossibile eseguire la query principale]]; nested: GroovyScriptExecutionException [MissingPropertyException [Nessuna proprietà di questo tipo: _type per la classe: Script4]] ' – navins
Se l'interrogazione di diversi indici in una sola volta, è possibile specificare gli indici aumentare al livello più alto di oggetto passato Search API:
curl -XGET localhost:9200/italian,spanish,american/_search -d '
{
"query":{"term":{"food_type":"cheese"}},
"indices_boost" : {
"ilalian" : 1.4,
"spanish" : 1.3,
"american" : 1.1
}
}'
- 1. Ricerca per campo in Lucene
- 2. Ricerca multipla in Lucene
- 3. Indice di unione in Lucene
- 4. Come calcolare il punteggio in base al numero di termini di ricerca in elasticsearch?
- 5. Ricerca sensibile al maiuscolo/minuscolo Lucene
- 6. Ricerca multiindice in ElasticSearch (Tyre)
- 7. Motore di ricerca - Lucene o Solr
- 8. Tipo di dati per la tabella di ricerca/indice nell'array
- 9. Ricerca filtro Elasticsearch in minuscolo
- 10. Come aumentare la larghezza div in base al testo al suo interno?
- 11. Utilizzo di Apache Lucene per la ricerca
- 12. Lucene ricerca e trattini bassi
- 13. ElasticSearch: ricerca di campi in matrici annidate
- 14. MongoDB + Elasticsearch o solo Elasticsearch?
- 15. Indice lento di Elasticsearch
- 16. Lucene Query String Elasticsearch "minore o uguale a" [URI Search]
- 17. Procedura: Aumentare la velocità di indicizzazione di Lucene .net
- 18. Complessità della ricerca di Lucene
- 19. filtraggio in base alla data in elasticsearch
- 20. Come rimuovere i risultati di ricerca duplicati in elasticsearch?
- 21. Come aumentare la quota di ricerca personalizzata di Google per la ricerca di immagini oltre 10000?
- 22. Lucene: è la risposta giusta per un indice enorme?
- 23. Lucene Ricerca caratteri giapponesi
- 24. come si fa a indice e searchnumbers in Lucene 4.1
- 25. C'è qualche modo per me di cambiare punteggio in base alla posizione di termine in Lucene?
- 26. come ordinare una collezione in base al tipo di LINQ
- 27. Campi indice con trattini in Elasticsearch
- 28. Come ignorare le proprietà in base al tipo
- 29. non interrogare in lucene
- 30. C'è un modo per contare tutti gli elementi di un indice in ElasticSearch o Tyre?
Forse stai cercando index-boost? https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-index-boost.html – Sid